Przejdź do treści

Odczyt danych

Dane z tcPDU można odczytywać na żądanie przez specjalne zapytanie HTTP oraz polecenie MQTT. Wszystkie parametry urządzenia są podzielone na grupy do odczytu, tak by można z dużą dowolnością wybierać i odczytywać tylko pożądane wartości. Odpowiedź zawiera zmienne z wybranych grup w formacie JSON.

HTTP

Dostępne są dwa zapytania - jedno o dane statyczne i drugie o dane dynamiczne (określenie umowne). Dane do odczytu wybiera się umieszczając wybrane grupy jako parametry zapytania HTTP w następujący sposób:

  • dane statyczne:

    http://[IP]/api/v1/read/set/?[GRUPA 1]
    
    http://[IP]/api/v1/read/set/?[GRUPA 1]&[GRUPA 2]&[GRUPA 3]
    

    np.

    http://192.168.1.130/api/v1/read/set/?outConfig
    
    http://192.168.1.130/api/v1/read/set/?outConfig&dsConfig&i2cConfig&diffConfig
    
  • dane dynamiczne:

    http://[IP]/api/v1/read/status/?[GRUPA 1]
    
    http://[IP]/api/v1/read/status/?[GRUPA 1]&[GRUPA 2]&[GRUPA 3]
    

    np.

    http://192.168.1.130/api/v1/read/status/?boardValues
    
    http://192.168.1.130/api/v1/read/status/?boardValues&statusValues&timeValues&outValues&dsValues&i2cValues&diffValues
    

Kompletna lista grup i zawartych w nich danych jest opisana w Lista grup.

MQTT

Ta funkcja będzie dostępna w przyszłej wersji firmware.

Polecenie odczytu danych po MQTT powinno byc wysłane jak inne polecenia MQTT (więcej na ten temat). Format polecenia jest następujący:

read=[GRUPA 1]

read=[GRUPA 1]&[GRUPA 2]&[GRUPA 3]

Lista grup

Grupy odczytów są rozdzielone na dwa rodzaje:

  • z danymi statycznymi, takimi jak ustawienia, nazwy odczytów czujników
  • z danymi dynamicznymi, takimi jak odczyty czujników

Rodzaje grup są odczytywane oddzielnymi zapytaniami, przy czym w każdym zapytaniu może być zawartych wiele grup (sposób odczytu opisany powyżej).

W poniższej liście przy nazwach niektórych zmiennych występują dopiski {X,Y}, które oznaczają, że jest to zestaw odczytów. Przykładowo iDValue{1,2} odpowiada iDValue1 i iDValue2, a oledLine{1,4}{1,4} odpowiada oledLine11, oledLine12, oledLine13, oledLine14, oledLine21, oledLine22, oledLine23, oledLine24, oledLine31, oledLine32, oledLine33, oledLine34, oledLine41, oledLine42, oledLine43, oledLine44.

Dane statyczne

  • generalConfig

    [
        "hardwareVersion",
        "softwareVersion",
        "mqttDeviceID",
        "modemPresent"
    ]
    
  • webConfig

    [
        "webRefresh",
        "webLanguage",
        "webUserSetNames",
        "webReadOnlyUser",
        "webAutoSignIn",
        "webHomepage",
        "webCheckUpdates",
        "webVisibility",
        "webPositionTop",
        "webPositionLeft",
        "picture"
    ]
    
  • varConfig

    [
        "varName{1,8}"
    ]
    
  • outConfig

    [
        "outName{1,7}",
        "outAutoSwitch{1,7}",
        "outAutoSwitchH{1,7}",
        "outAutoSwitchL{1,7}",
        "outStartOn{1,7}",
        "outStartOnTime{1,7}",
        "outResetTime{1,7}",
        "outSaveState{1,7}",
        "outNegation",
        "outLock"
    ]
    
  • dsConfig

    [
        "dsName{1,8}",
        "dsID{1,8}",
        "dsOffset{1,8}"
    ]
    
  • i2cConfig

    [
        "i2cTempName",
        "i2cHumName",
        "i2cSensor",
        "i2cFrequency"
    ]
    
  • diffConfig

    [
        "diffName{1,6}",
        "diffConfig1S{1,6}",
        "diffConfig2S{1,6}",
        "diffConfigO{1,6}"
    ]
    
  • iDConfig

    [
        "iDName{1,2}",
        "iDNegation{1,2}",
        "iDBistable{1,2}",
        "iDBistableTime{1,2}"
    ]
    
  • modemConfig

    [
        "modemCode",
        "modemAPN",
        "modemNumber{1,4}",
        "modemTextOn{1,4}",
        "modemTextOff{1,4}",
        "modemReturnSMS"
    ]
    
  • powerConfig

    [
        "powerName{1,6}",
        "powerIOption{1,6}",
        "powerCounting{1,6}",
        "powerSaveToMem"
    ]
    
  • eventConfig

    [
        "event{1,20}"
    ]
    
  • scheduleConfig

    [
        "schedule{1,50}"
    ]
    
  • wdConfig

    [
        "wdConfig{1,7}"
    ]
    
  • httpConfig

    [
        "httpEnabled",
        "httpModem",
        "httpReadingCode",
        "httpDigestAuth",
        "httpPeriod",
        "httpHost{1,4}",
        "httpPort{1,4}",
        "httpPath{1,4}"
    ]
    
  • mqttConfig

    [
        "mqttEnabled",
        "mqttAuth",
        "mqttTLS",
        "mqttLWT",
        "mqttModem",
        "mqttHost",
        "mqttPort",
        "mqttLogin",
        "mqttPassword",
        "mqttPrefix",
        "mqttPeriod",
        "mqttKeepAlive",
        "mqttSend"
    ]
    
  • snmpConfig

    [
        "snmpTrapEnabled",
        "snmpV2Enabled",
        "snmpV3Enabled",
        "snmpCommRead",
        "snmpCommWrite",
        "snmpCommTrap",
        "snmpTrapReceive",
        "snmpUser",
        "snmpAuthPass",
        "snmpPrivacyPass"
    ]
    
  • networkConfig

    [
        "netIp",
        "netMask",
        "netGateway",
        "netDns1",
        "netMac",
        "netHttpPort",
        "netDns2",
        "netDhcp",
        "netHostname",
        "netHttpsOn"
    ]
    
  • timeConfig

    [
        "timeNTP",
        "timeNTPHost",
        "timeNTPPort",
        "timeTimezone",
        "timeNTPPeriod"
    ]
    
  • accessConfig

    [
        "auth",
        "upgr",
        "adminLogin",
        "adminPass",
        "userLogin",
        "userPass",
        "authUser{1,50}"
    ]
    
  • emailConfig

    [
        "emailHost",
        "emailPort",
        "emailUser",
        "emailPassword",
        "emailReceiver",
        "emailSender",
        "emailSubject",
        "emailTextOn{1,4}",
        "emailTextOff{1,4}",
        "emailTLS"
    ]
    
  • oledConfig

    [
        "oledEnabled",
        "oledTime",
        "oledSize",
        "oledScreen{1,4}",
        "oledLine{1,4}{1,4}",
        "oledFrequency"
    ]
    

Dane dynamiczne

  • boardValues

    [
        "uRms",
        "iRms",
        "pActive",
        "pApparent",
        "pReactive",
        "pFactor",
        "pospf",
        "posang"
    ]
    
  • statusValues

    [
        "restartFlag",
        "oledScreenNow",
        "mqttConnected"
    ]
    
  • outValues

    [
        "out{1,7}",
        "outAutoSwitchE{1,7}"
    ]
    
  • dsValues

    [
        "ds{1,8}",
        "dsReadID"
    ]
    
  • i2cValues

    [
        "i2cTemp",
        "i2cHum",
        "dewPoint"
    ]
    
  • diffValues

    [
        "diff{1,6}"
    ]
    
  • iDValues

    [
        "iDValue{1,2}"
    ]
    
  • modemValues

    [
        "modemConsole",
        "modemConnected",
        "modemRegistered"
    ]
    
  • powerValues

    [
        "power{1,6}",
        "energy{1,6}"
    ]
    
  • eventValues

    [
        "eventConditionResult{1,20}"
    ]
    
  • varValues

    [
        "var{1,8}"
    ]
    
  • wdValues

    [
        "wdEnableStatus",
        "wdPingTime",
        "wdPingFailCount",
        "wdRestartCount"
    ]
    
  • timeValues

    [
        "time",
        "uptimeDays",
        "uptimeHours",
        "uptimeMinutes",
        "uptimeSeconds"
    ]