Hauptmenü

FTUI 2.6

Begonnen von setstate, 11 Februar 2017, 14:59:21

Vorheriges Thema - Nächstes Thema

klausw

Hallo Setstate,

Ich hätte da noch eine Frage/Bitte:

Ist es möglich beim lesen der jsonlist2 nur die verwendeten Readings zu holen?
Vermutlich ist es aufwändiger, aber es würde sicher Sinn machen.

Mein FHEM läuft über eine Mobilfunkanbindung/VPN.
FTUI ist auf einem anderen System installiert welches an einem Kabelanschluss hängt (Die Seite selbst wird dadurch recht schnell geladen).
Es gehen also nur die json/ajax was auch immer über die Mobilfunkstrecke.
Ich habe einige Heizkörperthermostate und dort machen beispielsweise die Abschnitte "PossibleSetS"  und "PossibleAttrs" den größten Teil der json Daten aus (zumal es bei jedem Thermostat die gleichen sind).
Die json Daten der Heizungsseite sind allein 115kb groß. Das dauert ewig (knapp 30s) bis es geladen ist und bricht auch häufiger ab.
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

setstate

Ich glaube, das bietet jsonlist2 nicht.

jsonlist2 ist filterbar per devspev (siehe CommandRef). Ich gebe jetzt schon nur die Liste der Devices mit, die benötigt werden. Aber ich kenne keine devspec Definition, die Readings ausklammert.
Vllt. Kennst du sowas.

klausw

Zitat von: setstate am 24 Februar 2017, 10:20:03
Ich glaube, das bietet jsonlist2 nicht.

jsonlist2 ist filterbar per devspev (siehe CommandRef). Ich gebe jetzt schon nur die Liste der Devices mit, die benötigt werden. Aber ich kenne keine devspec Definition, die Readings ausklammert.
Vllt. Kennst du sowas.

Ich habe mal nachgelesen/probiert
So feingranular lässt es sich leider nicht auflösen.
Aber es lassen sich durchaus werte mitgeben. Diese werden dann halt für jedes Device verwendet.
Wenn du hinter die Devspec alle Readings schreibst, die genutzt werden, dann werden auch nur diese zurück geliefert.
Wenn ein Reading für das Device nicht existiert dann wird es einfach nicht geliefert.

jsonlist [<devspec>] [<value1> <value2> ...]

Ich habe derzeit Beispielsweise 5 Thermostate. Ich benötige von jedem das "Basis" und das "_Clima" Device. Da "Activity" nur im Basisdevice vorhanden ist ich die Temperaturen aber nur im "_Clima" Device setzen kann. Das heißt für diesen Fall vervielfacht sich die Datenmenge im Beispiel auf das 5-fache. Die Ladezeit würde erheblich reduziert werden.

Beispiel ohne values:
https://meineseite:8443/drham?cmd=jsonlist2%20WEB%2CThermostat_Bad%2CThermostat_Bad_Clima&fwcsrf=&XHR=1
{
  "Arg":"WEB,Thermostat_Bad,Thermostat_Bad_Clima",
  "Results": [
  {
    "Name":"Thermostat_Bad",
    "PossibleSets":"assignHmKey:noArg burstXmit:noArg clear:readings,trigger,register,oldRegs,rssi,msgEvents,attack,all deviceRename fwUpdate getConfig:noArg getRegRaw inhibit:on,off raw regBulk regSet reset:noArg sysTime:noArg unpair:noArg",
    "PossibleAttrs":"alias comment:textField-long eventMap group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 do_not_notify:1,0 showtime:1,0 rawToReadable unit expert:0_defReg,1_allReg,2_defReg+raw,3_allReg+raw,4_off,8_templ+default,12_templOnly,251_anything param actAutoTry:0_off,1_on aesCommReq:1,0 ignore:1,0 dummy:1,0 IODev IOList IOgrp rssiLog:1,0 actCycle hmKey hmKey2 hmKey3 serialNr firmware .stc .devInfo actStatus autoReadReg:0_off,1_restart,2_pon-restart,3_onChange,4_reqStatus,5_readMissing,8_stateOnly burstAccess:0_off,1_auto msgRepeat hmProtocolEvents:0_off,1_dump,2_dumpFull,3_dumpTrigger aesKey:5,4,3,2,1,0  repPeers peerIDs tempListTmpl:none,defaultWeekplan,Thermostat_Bad_Clima,Thermostat_Diele_Clima,Thermostat_Wintergarten_Clima,Thermostat_Wohnzimmer_Clima,Thermostat_Wohnzimmeru_Clima levelRange levelMap cyclicMsgOffset event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat:textField-long timestamp-on-change-reading model:ASH550,ASH550I,CCU-FHEM,CMM,DORMA_BRC-H,DORMA_RC-H,DORMA_atent,HM-CC-RT-DN,HM-CC-RT-DN-BoM,HM-CC-SCD,HM-CC-TC,HM-CC-VD,HM-Dis-EP-WM55,HM-Dis-TD-T,HM-Dis-WM55,HM-ES-PMSw1-DR,HM-ES-PMSw1-Pl,HM-ES-PMSw1-Pl-DN-R1,HM-ES-PMSw1-Pl-DN-R2,HM-ES-PMSw1-Pl-DN-R3,HM-ES-PMSw1-Pl-DN-R4,HM-ES-PMSw1-Pl-DN-R5,HM-ES-PMSw1-SM,HM-ES-TX-WM,HM-LC-AO-SM,HM-LC-BL1-FM,HM-LC-BL1-PB-FM,HM-LC-BL1-SM,HM-LC-Bl1-FM-2,HM-LC-Bl1-SM-2,HM-LC-Bl1PBU-FM,HM-LC-DDC1-PCB,HM-LC-DIM1L-CV,HM-LC-DIM1L-PL,HM-LC-DIM1T-CV,HM-LC-DIM1T-FM,HM-LC-DIM1T-PL,HM-LC-DIM2L-CV,HM-LC-DIM2L-SM,HM-LC-DIM2T-SM,HM-LC-Dim1L-CV-2,HM-LC-Dim1L-CV-644,HM-LC-Dim1L-Pl-2,HM-LC-Dim1L-Pl-3,HM-LC-Dim1L-Pl-644,HM-LC-Dim1PWM-CV,HM-LC-Dim1PWM-CV-2,HM-LC-Dim1T-CV-2,HM-LC-Dim1T-CV-644,HM-LC-Dim1T-DR,HM-LC-Dim1T-FM-2,HM-LC-Dim1T-FM-644,HM-LC-Dim1T-FM-LF,HM-LC-Dim1T-Pl-2,HM-LC-Dim1T-Pl-3,HM-LC-Dim1T-Pl-644,HM-LC-Dim1TPBU-FM,HM-LC-Dim1TPBU-FM-2,HM-LC-Dim2L-SM-2,HM-LC-Dim2L-SM-644,HM-LC-Dim2T-SM,HM-LC-Dim2T-SM-2,HM-LC-Ja1PBU-FM,HM-LC-RGBW-WM,HM-LC-SW1-BA-PCB,HM-LC-SW1-FM,HM-LC-SW1-PB-FM,HM-LC-SW1-PL,HM-LC-SW1-PL-OM54,HM-LC-SW1-PL2,HM-LC-SW1-SM,HM-LC-SW1-SM-ATMEGA168,HM-LC-SW2-DR,HM-LC-SW2-FM,HM-LC-SW2-PB-FM,HM-LC-SW2-SM,HM-LC-SW4-BA-PCB,HM-LC-SW4-DR,HM-LC-SW4-PCB,HM-LC-SW4-SM,HM-LC-SW4-SM-ATMEGA168,HM-LC-SW4-WM,HM-LC-Sw1-DR,HM-LC-Sw1-FM-2,HM-LC-Sw1-PCB,HM-LC-Sw1-Pl-3,HM-LC-Sw1-Pl-CT-R1,HM-LC-Sw1-Pl-CT-R2,HM-LC-Sw1-Pl-CT-R3,HM-LC-Sw1-Pl-CT-R4,HM-LC-Sw1-Pl-CT-R5,HM-LC-Sw1-Pl-DN-R1,HM-LC-Sw1-Pl-DN-R2,HM-LC-Sw1-Pl-DN-R3,HM-LC-Sw1-Pl-DN-R4,HM-LC-Sw1-Pl-DN-R5,HM-LC-Sw1-SM-2,HM-LC-Sw1PBU-FM,HM-LC-Sw2-DR-2,HM-LC-Sw2-FM-2,HM-LC-Sw2PBU-FM,HM-LC-Sw4-DR-2,HM-LC-Sw4-PCB-2,HM-LC-Sw4-SM-2,HM-LC-Sw4-WM-2,HM-MOD-EM-8Bit,HM-MOD-Em-8,HM-MOD-Re-8,HM-OU-CF-PL,HM-OU-CFM-PL,HM-OU-CFM-TW,HM-OU-CM-PCB,HM-OU-LED16,HM-PB-2-FM,HM-PB-2-WM,HM-PB-2-WM55,HM-PB-2-WM55-2,HM-PB-4-WM,HM-PB-4DIS-WM,HM-PB-4DIS-WM-2,HM-PB-6-WM55,HM-PBI-4-FM,HM-RC-12,HM-RC-12-B,HM-RC-12-SW,HM-RC-19,HM-RC-19-B,HM-RC-19-SW,HM-RC-2-PBU-FM,HM-RC-4,HM-RC-4-2,HM-RC-4-3,HM-RC-4-3-D,HM-RC-4-B,HM-RC-8,HM-RC-Dis-H-x-EU,HM-RC-KEY3,HM-RC-KEY3-B,HM-RC-Key4-2,HM-RC-Key4-3,HM-RC-P1,HM-RC-SEC3,HM-RC-SEC3-B,HM-RC-Sec4-2,HM-RC-Sec4-3,HM-SCI-3-FM,HM-SEC-KEY,HM-SEC-KEY-O,HM-SEC-KEY-S,HM-SEC-MDIR,HM-SEC-MDIR-2,HM-SEC-MDIR-3,HM-SEC-RHS,HM-SEC-RHS-2,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-SCo,HM-SEC-SD,HM-SEC-SD-2,HM-SEC-SFA-SM,HM-SEC-TIS,HM-SEC-WDS,HM-SEC-WDS-2,HM-SEC-WIN,HM-SEN-EP,HM-SEN-MDIR-SM,HM-SWI-3-FM,HM-Sec-Cen,HM-Sec-Sir-WM,HM-Sen-DB-PCB,HM-Sen-LI-O,HM-Sen-MDIR-O,HM-Sen-MDIR-O-2,HM-Sen-MDIR-WM55,HM-Sen-RD-O,HM-Sen-Wa-Od,HM-Sys-sRP-Pl,HM-TC-IT-WM-W-EU,HM-WDC7000,HM-WDS10-TH-O,HM-WDS100-C6-O,HM-WDS100-C6-O-2,HM-WDS20-TH-O,HM-WDS30-OT2-SM,HM-WDS30-OT2-SM-2,HM-WDS30-T-O,HM-WDS40-TH-I,HM-WDS40-TH-I-2,HM-WS550,HM-WS550LCB,HM-WS550LCW,HM-WS550Tech,IS-WDS-TH-OD-S-R3,KFM-Display,KFM-Sensor,KS550,KS550LC,KS550TECH,KS888,OLIGO-smart-iq-HM,PS-Th-Sens,PS-switch,ROTO_ZEL-STG-RM-DWT-10,ROTO_ZEL-STG-RM-FDK,ROTO_ZEL-STG-RM-FEP-230V,ROTO_ZEL-STG-RM-FSA,ROTO_ZEL-STG-RM-FST-UP4,ROTO_ZEL-STG-RM-FWT,ROTO_ZEL-STG-RM-FZS,ROTO_ZEL-STG-RM-FZS-2,ROTO_ZEL-STG-RM-HS-4,ROTO_ZEL-STG-RM-WT-2,Roto_ZEL-STG-RM-FFK,Roto_ZEL-STG-RM-FSS-UP3,S550IA,Schueco_263-130,Schueco_263-131,Schueco_263-132,Schueco_263-133,Schueco_263-134,Schueco_263-135,Schueco_263-144,Schueco_263-145,Schueco_263-146,Schueco_263-147,Schueco_263-155,Schueco_263-157,Schueco_263-158,Schueco_263-160,Schueco_263-162,Schueco_263-167,Schueco_263-xxx,SensoTimer-ST-6,WDF-solar,WS888 subType:AlarmControl,KFM100,THSensor,blindActuator,blindActuatorSol,dimmer,display,keyMatic,motionAndBtn,motionDetector,outputUnit,powerMeter,powerSensor,pushButton,remote,repeater,rgb,senBright,sensRain,sensor,singleButton,siren,smokeDetector,swi,switch,thermostat,threeStateSensor,timer,tipTronic,virtual,winMatic DbLogExclude alarmDevice:Actor,Sensor alarmSettings automatik:keine,Timer_1,Timer_2,Timer_3,Weihnachten cmdIcon devStateIcon devStateStyle icon offStateName onStateName powerMap:textField-long powerMap_interval powerMap_noEnergy:1,0 powerMap_noPower:1,0 powerMap_rname_E:textField powerMap_rname_P:textField pronunciation sortby webCmd widgetOverride widget_name userattr",
    "Internals": {
      "CUL1_MSGCNT": "10089",
      "CUL1_RAWMSG": "A0F0A861046BBA00000000A908B0E6440::-37.5:CUL1",
      "CUL1_RSSI": "-37.5",
      "CUL1_TIME": "2017-02-24 10:39:06",
      "DEF": "46BBA0",
      "LASTInputDev": "CUL1",
      "MSGCNT": "10089",
      "NAME": "Thermostat_Bad",
      "NOTIFYDEV": "global",
      "NR": "153",
      "NTFY_ORDER": "50-Thermostat_Bad",
      "STATE": "CMDs_done",
      "TYPE": "CUL_HM",
      "channel_01": "Thermostat_Bad_Weather",
      "channel_02": "Thermostat_Bad_Climate",
      "channel_03": "Thermostat_Bad_WindowRec",
      "channel_04": "Thermostat_Bad_Clima",
      "channel_05": "Thermostat_Bad_ClimaTeam",
      "channel_06": "Thermostat_Bad_remote",
      "lastMsg": "No:0A - t:10 s:46BBA0 d:000000 0A908B0E6440",
      "protLastRcv": "2017-02-24 10:39:05",
      "protSnd": "24 last_at:2017-02-24 09:33:17",
      "protState": "CMDs_done",
      "rssi_CUL1": "avg:-33.33 cnt:3 min:-34 max:-33 lst:-34 ",
      "rssi_at_CUL1": "min:-38 avg:-37.04 cnt:10089 max:-36.5 lst:-37.5 "
    },
    "Readings": {
      "Activity": { "Value":"alive", "Time":"2017-02-06 17:42:33" },
      "CommandAccepted": { "Value":"yes", "Time":"2017-02-24 09:33:17" },
      "D-firmware": { "Value":"1.4", "Time":"2016-12-23 11:01:07" },
      "D-serialNr": { "Value":"NEQ2345969", "Time":"2016-12-23 11:01:07" },
      "PairedTo": { "Value":"0xF16284", "Time":"2016-10-22 00:14:43" },
      "R-backOnTime": { "Value":"10 s", "Time":"2016-07-09 21:23:45" },
      "R-btnLock": { "Value":"off", "Time":"2016-07-13 22:35:58" },
      "R-burstRx": { "Value":"on", "Time":"2016-07-09 21:23:45" },
      "R-cyclicInfoMsg": { "Value":"on", "Time":"2016-07-09 21:23:45" },
      "R-cyclicInfoMsgDis": { "Value":"0", "Time":"2016-07-09 21:23:45" },
      "R-globalBtnLock": { "Value":"off", "Time":"2016-07-09 21:23:45" },
      "R-localResDis": { "Value":"off", "Time":"2016-07-09 21:23:45" },
      "R-lowBatLimitRT": { "Value":"2.1 V", "Time":"2016-07-09 21:23:45" },
      "R-modusBtnLock": { "Value":"off", "Time":"2016-07-09 21:23:45" },
      "R-pairCentral": { "Value":"0xF16284", "Time":"2016-07-09 21:23:45" },
      "actuator": { "Value":"100", "Time":"2017-02-24 10:39:06" },
      "battery": { "Value":"ok", "Time":"2017-02-24 10:39:06" },
      "batteryLevel": { "Value":"2.9", "Time":"2017-02-24 10:39:06" },
      "desired-temp": { "Value":"18.0", "Time":"2017-02-24 10:39:06" },
      "measured-temp": { "Value":"13.9", "Time":"2017-02-24 10:39:06" },
      "motorErr": { "Value":"ok", "Time":"2017-02-24 10:39:06" },
      "powerOn": { "Value":"2016-10-22 00:10:01", "Time":"2016-10-22 00:10:01" },
      "recentStateType": { "Value":"info", "Time":"2016-10-22 00:10:01" },
      "state": { "Value":"CMDs_done", "Time":"2017-02-24 09:33:18" },
      "time-request": { "Value":"-", "Time":"2017-02-24 02:54:39" }
    },
    "Attributes": {
      "IODev": "CUL1",
      "IOgrp": "VCCU",
      "actCycle": "000:10",
      "actStatus": "alive",
      "autoReadReg": "4_reqStatus",
      "event-min-interval": "desired-temp:86400,actuator:86400",
      "event-on-change-reading": ".*",
      "expert": "1_allReg",
      "firmware": "1.4",
      "model": "HM-CC-RT-DN",
      "serialNr": "NEQ2345969",
      "subType": "thermostat",
      "webCmd": "getConfig:clear msgEvents:burstXmit"
    }
  },
  {
    "Name":"Thermostat_Bad_Clima",
    "PossibleSets":"burstXmit:noArg clear:readings,trigger,register,oldRegs,rssi,msgEvents,attack,all controlManu:on,off,5.0,5.5,6.0,6.5,7.0,7.5,8.0,8.5,9.0,9.5,10.0,10.5,11.0,11.5,12.0,12.5,13.0,13.5,14.0,14.5,15.0,15.5,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,24.5,25.0,25.5,26.0,26.5,27.0,27.5,28.0,28.5,29.0,29.5,30.0 controlMode:auto,manual,boost,day,night controlParty desired-temp:on,off,5.0,5.5,6.0,6.5,7.0,7.5,8.0,8.5,9.0,9.5,10.0,10.5,11.0,11.5,12.0,12.5,13.0,13.5,14.0,14.5,15.0,15.5,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,24.5,25.0,25.5,26.0,26.5,27.0,27.5,28.0,28.5,29.0,29.5,30.0 getConfig:noArg getRegRaw inhibit:on,off peerBulk regBulk regSet sign:on,off sysTime:noArg tempListFri tempListMon tempListSat tempListSun tempListThu tempListTmpl tempListTue tempListWed tempTmplSet:none,defaultWeekplan,Thermostat_Bad_Clima,Thermostat_Diele_Clima,Thermostat_Wintergarten_Clima,Thermostat_Wohnzimmer_Clima,Thermostat_Wohnzimmeru_Clima ",
    "PossibleAttrs":"alias comment:textField-long eventMap group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 do_not_notify:1,0 showtime:1,0 rawToReadable unit expert:0_defReg,1_allReg,2_defReg+raw,3_allReg+raw,4_off,8_templ+default,12_templOnly,251_anything param actAutoTry:0_off,1_on aesCommReq:1,0 ignore:1,0 dummy:1,0 IODev IOList IOgrp rssiLog:1,0 actCycle hmKey hmKey2 hmKey3 serialNr firmware .stc .devInfo actStatus autoReadReg:0_off,1_restart,2_pon-restart,3_onChange,4_reqStatus,5_readMissing,8_stateOnly burstAccess:0_off,1_auto msgRepeat hmProtocolEvents:0_off,1_dump,2_dumpFull,3_dumpTrigger aesKey:5,4,3,2,1,0  repPeers peerIDs tempListTmpl:none,defaultWeekplan,Thermostat_Bad_Clima,Thermostat_Diele_Clima,Thermostat_Wintergarten_Clima,Thermostat_Wohnzimmer_Clima,Thermostat_Wohnzimmeru_Clima levelRange levelMap cyclicMsgOffset event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat:textField-long timestamp-on-change-reading model:ASH550,ASH550I,CCU-FHEM,CMM,DORMA_BRC-H,DORMA_RC-H,DORMA_atent,HM-CC-RT-DN,HM-CC-RT-DN-BoM,HM-CC-SCD,HM-CC-TC,HM-CC-VD,HM-Dis-EP-WM55,HM-Dis-TD-T,HM-Dis-WM55,HM-ES-PMSw1-DR,HM-ES-PMSw1-Pl,HM-ES-PMSw1-Pl-DN-R1,HM-ES-PMSw1-Pl-DN-R2,HM-ES-PMSw1-Pl-DN-R3,HM-ES-PMSw1-Pl-DN-R4,HM-ES-PMSw1-Pl-DN-R5,HM-ES-PMSw1-SM,HM-ES-TX-WM,HM-LC-AO-SM,HM-LC-BL1-FM,HM-LC-BL1-PB-FM,HM-LC-BL1-SM,HM-LC-Bl1-FM-2,HM-LC-Bl1-SM-2,HM-LC-Bl1PBU-FM,HM-LC-DDC1-PCB,HM-LC-DIM1L-CV,HM-LC-DIM1L-PL,HM-LC-DIM1T-CV,HM-LC-DIM1T-FM,HM-LC-DIM1T-PL,HM-LC-DIM2L-CV,HM-LC-DIM2L-SM,HM-LC-DIM2T-SM,HM-LC-Dim1L-CV-2,HM-LC-Dim1L-CV-644,HM-LC-Dim1L-Pl-2,HM-LC-Dim1L-Pl-3,HM-LC-Dim1L-Pl-644,HM-LC-Dim1PWM-CV,HM-LC-Dim1PWM-CV-2,HM-LC-Dim1T-CV-2,HM-LC-Dim1T-CV-644,HM-LC-Dim1T-DR,HM-LC-Dim1T-FM-2,HM-LC-Dim1T-FM-644,HM-LC-Dim1T-FM-LF,HM-LC-Dim1T-Pl-2,HM-LC-Dim1T-Pl-3,HM-LC-Dim1T-Pl-644,HM-LC-Dim1TPBU-FM,HM-LC-Dim1TPBU-FM-2,HM-LC-Dim2L-SM-2,HM-LC-Dim2L-SM-644,HM-LC-Dim2T-SM,HM-LC-Dim2T-SM-2,HM-LC-Ja1PBU-FM,HM-LC-RGBW-WM,HM-LC-SW1-BA-PCB,HM-LC-SW1-FM,HM-LC-SW1-PB-FM,HM-LC-SW1-PL,HM-LC-SW1-PL-OM54,HM-LC-SW1-PL2,HM-LC-SW1-SM,HM-LC-SW1-SM-ATMEGA168,HM-LC-SW2-DR,HM-LC-SW2-FM,HM-LC-SW2-PB-FM,HM-LC-SW2-SM,HM-LC-SW4-BA-PCB,HM-LC-SW4-DR,HM-LC-SW4-PCB,HM-LC-SW4-SM,HM-LC-SW4-SM-ATMEGA168,HM-LC-SW4-WM,HM-LC-Sw1-DR,HM-LC-Sw1-FM-2,HM-LC-Sw1-PCB,HM-LC-Sw1-Pl-3,HM-LC-Sw1-Pl-CT-R1,HM-LC-Sw1-Pl-CT-R2,HM-LC-Sw1-Pl-CT-R3,HM-LC-Sw1-Pl-CT-R4,HM-LC-Sw1-Pl-CT-R5,HM-LC-Sw1-Pl-DN-R1,HM-LC-Sw1-Pl-DN-R2,HM-LC-Sw1-Pl-DN-R3,HM-LC-Sw1-Pl-DN-R4,HM-LC-Sw1-Pl-DN-R5,HM-LC-Sw1-SM-2,HM-LC-Sw1PBU-FM,HM-LC-Sw2-DR-2,HM-LC-Sw2-FM-2,HM-LC-Sw2PBU-FM,HM-LC-Sw4-DR-2,HM-LC-Sw4-PCB-2,HM-LC-Sw4-SM-2,HM-LC-Sw4-WM-2,HM-MOD-EM-8Bit,HM-MOD-Em-8,HM-MOD-Re-8,HM-OU-CF-PL,HM-OU-CFM-PL,HM-OU-CFM-TW,HM-OU-CM-PCB,HM-OU-LED16,HM-PB-2-FM,HM-PB-2-WM,HM-PB-2-WM55,HM-PB-2-WM55-2,HM-PB-4-WM,HM-PB-4DIS-WM,HM-PB-4DIS-WM-2,HM-PB-6-WM55,HM-PBI-4-FM,HM-RC-12,HM-RC-12-B,HM-RC-12-SW,HM-RC-19,HM-RC-19-B,HM-RC-19-SW,HM-RC-2-PBU-FM,HM-RC-4,HM-RC-4-2,HM-RC-4-3,HM-RC-4-3-D,HM-RC-4-B,HM-RC-8,HM-RC-Dis-H-x-EU,HM-RC-KEY3,HM-RC-KEY3-B,HM-RC-Key4-2,HM-RC-Key4-3,HM-RC-P1,HM-RC-SEC3,HM-RC-SEC3-B,HM-RC-Sec4-2,HM-RC-Sec4-3,HM-SCI-3-FM,HM-SEC-KEY,HM-SEC-KEY-O,HM-SEC-KEY-S,HM-SEC-MDIR,HM-SEC-MDIR-2,HM-SEC-MDIR-3,HM-SEC-RHS,HM-SEC-RHS-2,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-SCo,HM-SEC-SD,HM-SEC-SD-2,HM-SEC-SFA-SM,HM-SEC-TIS,HM-SEC-WDS,HM-SEC-WDS-2,HM-SEC-WIN,HM-SEN-EP,HM-SEN-MDIR-SM,HM-SWI-3-FM,HM-Sec-Cen,HM-Sec-Sir-WM,HM-Sen-DB-PCB,HM-Sen-LI-O,HM-Sen-MDIR-O,HM-Sen-MDIR-O-2,HM-Sen-MDIR-WM55,HM-Sen-RD-O,HM-Sen-Wa-Od,HM-Sys-sRP-Pl,HM-TC-IT-WM-W-EU,HM-WDC7000,HM-WDS10-TH-O,HM-WDS100-C6-O,HM-WDS100-C6-O-2,HM-WDS20-TH-O,HM-WDS30-OT2-SM,HM-WDS30-OT2-SM-2,HM-WDS30-T-O,HM-WDS40-TH-I,HM-WDS40-TH-I-2,HM-WS550,HM-WS550LCB,HM-WS550LCW,HM-WS550Tech,IS-WDS-TH-OD-S-R3,KFM-Display,KFM-Sensor,KS550,KS550LC,KS550TECH,KS888,OLIGO-smart-iq-HM,PS-Th-Sens,PS-switch,ROTO_ZEL-STG-RM-DWT-10,ROTO_ZEL-STG-RM-FDK,ROTO_ZEL-STG-RM-FEP-230V,ROTO_ZEL-STG-RM-FSA,ROTO_ZEL-STG-RM-FST-UP4,ROTO_ZEL-STG-RM-FWT,ROTO_ZEL-STG-RM-FZS,ROTO_ZEL-STG-RM-FZS-2,ROTO_ZEL-STG-RM-HS-4,ROTO_ZEL-STG-RM-WT-2,Roto_ZEL-STG-RM-FFK,Roto_ZEL-STG-RM-FSS-UP3,S550IA,Schueco_263-130,Schueco_263-131,Schueco_263-132,Schueco_263-133,Schueco_263-134,Schueco_263-135,Schueco_263-144,Schueco_263-145,Schueco_263-146,Schueco_263-147,Schueco_263-155,Schueco_263-157,Schueco_263-158,Schueco_263-160,Schueco_263-162,Schueco_263-167,Schueco_263-xxx,SensoTimer-ST-6,WDF-solar,WS888 subType:AlarmControl,KFM100,THSensor,blindActuator,blindActuatorSol,dimmer,display,keyMatic,motionAndBtn,motionDetector,outputUnit,powerMeter,powerSensor,pushButton,remote,repeater,rgb,senBright,sensRain,sensor,singleButton,siren,smokeDetector,swi,switch,thermostat,threeStateSensor,timer,tipTronic,virtual,winMatic DbLogExclude alarmDevice:Actor,Sensor alarmSettings automatik:keine,Timer_1,Timer_2,Timer_3,Weihnachten cmdIcon devStateIcon devStateStyle icon offStateName onStateName powerMap:textField-long powerMap_interval powerMap_noEnergy:1,0 powerMap_noPower:1,0 powerMap_rname_E:textField powerMap_rname_P:textField pronunciation sortby webCmd widgetOverride widget_name userattr",
    "Internals": {
      "DEF": "46BBA004",
      "NAME": "Thermostat_Bad_Clima",
      "NOTIFYDEV": "global",
      "NR": "158",
      "NTFY_ORDER": "50-Thermostat_Bad_Clima",
      "STATE": "T: 13.9 desired: 18.0 valve: 100",
      "TYPE": "CUL_HM",
      "chanNo": "04",
      "device": "Thermostat_Bad"
    },
    "Readings": {
      "CommandAccepted": { "Value":"yes", "Time":"2017-02-24 09:33:18" },
      "R-boostPeriod": { "Value":"5 min", "Time":"2016-07-09 21:25:52" },
      "R-boostPos": { "Value":"80 %", "Time":"2016-07-09 21:25:52" },
      "R-btnNoBckLight": { "Value":"off", "Time":"2016-07-09 21:25:52" },
      "R-dayTemp": { "Value":"21 C", "Time":"2016-07-09 21:25:52" },
      "R-daylightSaveTime": { "Value":"on", "Time":"2016-07-09 21:25:52" },
      "R-decalcTime": { "Value":"11:00", "Time":"2016-07-09 21:25:52" },
      "R-decalcWeekday": { "Value":"Sat", "Time":"2016-07-09 21:25:52" },
      "R-modePrioManu": { "Value":"all", "Time":"2016-07-09 21:25:52" },
      "R-modePrioParty": { "Value":"all", "Time":"2016-07-09 21:25:52" },
      "R-nightTemp": { "Value":"17 C", "Time":"2016-07-09 21:25:52" },
      "R-noMinMax4Manu": { "Value":"off", "Time":"2016-07-09 21:25:52" },
      "R-regAdaptive": { "Value":"on", "Time":"2016-07-09 21:25:52" },
      "R-reguExtI": { "Value":"15", "Time":"2016-07-09 21:25:52" },
      "R-reguExtP": { "Value":"30", "Time":"2016-07-09 21:25:52" },
      "R-reguExtPstart": { "Value":"30", "Time":"2016-07-09 21:25:52" },
      "R-reguIntI": { "Value":"18", "Time":"2017-01-13 10:56:13" },
      "R-reguIntP": { "Value":"33", "Time":"2017-01-13 10:56:13" },
      "R-reguIntPstart": { "Value":"45", "Time":"2017-01-13 10:56:13" },
      "R-showInfo": { "Value":"time", "Time":"2016-07-09 21:25:52" },
      "R-showWeekday": { "Value":"off", "Time":"2016-07-09 21:25:52" },
      "R-sign": { "Value":"off", "Time":"2016-07-09 21:23:47" },
      "R-tempMax": { "Value":"30.5 C", "Time":"2016-07-09 21:25:52" },
      "R-tempMin": { "Value":"4.5 C", "Time":"2016-07-09 21:25:52" },
      "R-tempOffset": { "Value":"0.0K", "Time":"2016-07-09 21:25:52" },
      "R-valveErrPos": { "Value":"15 %", "Time":"2016-07-09 21:25:52" },
      "R-valveMaxPos": { "Value":"100 %", "Time":"2016-07-09 21:25:52" },
      "R-valveOffsetRt": { "Value":"0 %", "Time":"2016-07-09 21:25:52" },
      "R-winOpnBoost": { "Value":"off", "Time":"2016-07-09 21:25:52" },
      "R-winOpnDetFall": { "Value":"1.4 K", "Time":"2016-07-09 21:25:52" },
      "R-winOpnMode": { "Value":"on", "Time":"2016-07-09 21:25:52" },
      "R-winOpnPeriod": { "Value":"15 min", "Time":"2016-07-09 21:25:52" },
      "R-winOpnTemp": { "Value":"12 C", "Time":"2016-07-09 21:25:52" },
      "R_0_tempListSat": { "Value":"08:00 16.0 10:00 22.0 18:00 19.0 21:00 22.0 24:00 16.0", "Time":"2017-01-13 10:56:13" },
      "R_1_tempListSun": { "Value":"08:00 16.0 10:00 22.0 18:00 19.0 21:00 22.0 24:00 16.0", "Time":"2017-01-13 10:56:13" },
      "R_2_tempListMon": { "Value":"08:00 16.0 10:00 22.0 18:00 19.0 21:00 22.0 24:00 16.0", "Time":"2017-01-13 10:56:13" },
      "R_3_tempListTue": { "Value":"08:00 16.0 10:00 22.0 18:00 19.0 21:00 22.0 24:00 16.0", "Time":"2017-01-13 10:56:13" },
      "R_4_tempListWed": { "Value":"08:00 16.0 10:00 22.0 18:00 19.0 21:00 22.0 24:00 16.0", "Time":"2017-01-13 10:56:13" },
      "R_5_tempListThu": { "Value":"08:00 16.0 10:00 22.0 18:00 19.0 21:00 22.0 24:00 16.0", "Time":"2017-01-13 10:56:13" },
      "R_6_tempListFri": { "Value":"08:00 16.0 10:00 22.0 18:00 19.0 21:00 22.0 24:00 16.0", "Time":"2017-01-13 10:56:13" },
      "R_tempList_State": { "Value":"verified", "Time":"2017-01-13 10:56:13" },
      "ValvePosition": { "Value":"100", "Time":"2017-02-24 10:39:06" },
      "boostTime": { "Value":"-", "Time":"2017-02-24 10:39:06" },
      "controlMode": { "Value":"manual", "Time":"2017-02-24 10:39:06" },
      "desired-temp": { "Value":"18.0", "Time":"2017-02-24 10:39:06" },
      "measured-temp": { "Value":"13.9", "Time":"2017-02-24 10:39:06" },
      "partyEnd": { "Value":"-", "Time":"2017-02-24 10:39:06" },
      "partyStart": { "Value":"-", "Time":"2017-02-24 10:39:06" },
      "partyTemp": { "Value":"-", "Time":"2017-02-24 10:39:06" },
      "recentStateType": { "Value":"ack", "Time":"2017-02-24 09:33:18" },
      "state": { "Value":"T: 13.9 desired: 18.0 valve: 100", "Time":"2017-02-24 10:39:06" }
    },
    "Attributes": {
      "event-min-interval": "desired-temp:86400,ValvePosition:86400",
      "event-on-change-reading": ".*",
      "model": "HM-CC-RT-DN",
      "peerIDs": "00000000,",
      "room": "Heizung"
    }
  }  ],
  "totalResultsReturned":2
}



Beispiel mit values:
https://meineseite:8443/drham?cmd=jsonlist2%20WEB%2CThermostat_Bad%2CThermostat_Bad_Clima%20measured-temp%20desired-temp%20Activity&fwcsrf=&XHR=1
{
  "Arg":"WEB,Thermostat_Bad,Thermostat_Bad_Clima measured-temp desired-temp Activity",
  "Results": [
  {
    "Name":"Thermostat_Bad",
    "Internals": { },
    "Readings": {
      "Activity": { "Value":"alive", "Time":"2017-02-06 17:42:33" },
      "desired-temp": { "Value":"18.0", "Time":"2017-02-24 10:39:06" },
      "measured-temp": { "Value":"13.9", "Time":"2017-02-24 10:39:06" }
    },
    "Attributes": { }
  },
  {
    "Name":"Thermostat_Bad_Clima",
    "Internals": { },
    "Readings": {
      "desired-temp": { "Value":"18.0", "Time":"2017-02-24 10:39:06" },
      "measured-temp": { "Value":"13.9", "Time":"2017-02-24 10:39:06" }
    },
    "Attributes": { }
  }  ],
  "totalResultsReturned":2
}


Eventuell wäre es auch eine Idee, wenn sich der jsonlist2 Befehl alternativ als Parameter in der jeweiligen html Datei angeben ließe.
Dann könnte mal auch die Anfrage selbst optimieren (mit Wildcards und so).... nur eine Fixe Idee  8)
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

setstate

Durchaus eine valide Frage. Beim longpoll habe ich solch einen individuellen Filter per Meta Tag

Für das ShortPoll (jsonlist2) kann ich das noch bauen. Aber die Liste der abonnierten Readings habe ich ja intern schon, brauche ich dem Befehl nur mitgeben. 

klausw

Zitat von: setstate am 24 Februar 2017, 11:08:39
Durchaus eine valide Frage. Beim longpoll habe ich solch einen individuellen Filter per Meta Tag
Gibts da schon ein Beispiel/Doku dazu. Derzeit ist ja viel los auf der Wiki Seite ;D


Zitat von: setstate am 24 Februar 2017, 11:08:39
Für das ShortPoll (jsonlist2) kann ich das noch bauen. Aber die Liste der abonnierten Readings habe ich ja intern schon, brauche ich dem Befehl nur mitgeben.
Das gibt sicher eine extreme Reduzierung der Ladezeit.


Worauf ich mit dem letzten Satz hinaus wollte ist folgendes.
Alles Schalter beginnen Beispielsweise mit switch_, die Thermostate mit Thermostat_
Wenn ich sowieso alle Thermostate auf einer Seite habe dann kann ich auch Thermostat_.* verwenden anstelle einer Liste aller Thermostate.
Ebenso bei den Schaltern.... aber im Gegensatz zum angeben der Readings in der jsonlist2 ist das von der Datenreduzierung sicher nicht so extrem.
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

meddie

Hallo zusammen,

ich habe auf das 2.6 upgedatet, fast ohne größere Probleme (ich habe beim Update auf 2.5 eine große Baustelle gehabt). Ich wollte mir demnächst auch eine UI für Smartphones basteln, dazu habe ich ein Beispiel vom Roman genommen. Das hatte mit 2.5 funktioniert seit dem Update auf 2.6 bekomme ich folgenden Fehler:

Error
ShortPoll Request Failed, will retry in 3s
parsererror, SyntaxError: Unexpected end of JSON input

Habt Ihr eine Idee was es sein kann. Wenn ich die Index.html leer lasse dann kommt die Meldunng nicht, aber solbald ich irgendein Widget egal was einsetze dann bekomme ich die Meldung.

Danke Vorab
Gruß Eddie

C0mmanda

Mahlzeit,

ich habe ein merkwürdiges Problem mit einem Circlemenu. Ob es an V2.6 liegt kann ich jedoch nicht sagen.

Ich habe zum einen dieses Circle-Menu, das funktioniert problemlos:


<div data-type="circlemenu"
data-border="round"
         data-item-width="78"
         data-circle-radius="130"
         data-direction="top-half"
         class="big">
        <ul>
          <li><div data-type="symbol" data-icon="oa-it_radio"></div></li>       
<li><div data-type="image"  data-url="../images/logos/rockantenne.png" data-size="80%" data-fhem-cmd="set KUE_MPD playlist RockAntenne"></div></li>
        <li><div data-type="image" data-url="../images/logos/1Live.png" data-size="80%" data-fhem-cmd="set KUE_MPD playlist 1Live"></div></li>
        <li><div data-type="image" data-url="../images/logos/wdr4.png" data-size="80%" data-fhem-cmd="set KUE_MPD playlist WDR4"></div></li>
        <li><div data-type="image" data-url="../images/logos/wmw.png" data-size="70%" data-fhem-cmd="set KUE_MPD playlist WMW"></div></li>
        </ul>
</div>


Dann habe ich in der gleichen .html, sogar im selben gridster, ein weiteres Circle-Menu:


<div data-type="circlemenu"
data-border="round"
         data-item-width="78"
         data-circle-radius="130"
         data-direction="top-half"
         class="big">
        <ul>
          <li><div data-type="symbol" data-icon="fa-tv"></div></li>       
<li><div data-type="image"  data-url="../images/logos/vox_hd.png" data-size="70%" data-fhem-cmd="set KUE_Kodi openchannelid 106;trigger KUE_Kodi fullscreen on"></div></li>
<li><div data-type="image" data-url="../images/logos/kabel_hd.png" data-size="60%" data-fhem-cmd="set KUE_Kodi openchannelid 18;trigger KUE_Kodi fullscreen on"></div></li>
        <li><div data-type="image" data-url="../images/logos/wdr.png" data-size="85%" data-fhem-cmd="set KUE_Kodi openchannelid 32;trigger KUE_Kodi fullscreen on"></div></li>
        <li><div data-type="image" data-url="../images/logos/discovery.png" data-size="80%" data-fhem-cmd="set KUE_Kodi openchannelid 113;trigger KUE_Kodi fullscreen on"></div></li>
        </ul>
</div>


Das zweite Circle-Menu provoziert eine Error-Message:

"Error while longpoll (websocket) undefined."

Wenn ich in FHEMWEB attr longpoll auf 1 setze ist der Error weg.

Jemand eine Idee dazu?
Danke!

grtz
CmdA

knopf_piano

Hi,
hab heut auf fhem 5.8 hochgezogen. Ftui 2.6.6 per git pull.
es werden keine plots in charts angezeigt. Außerdem keine anzeige von readingsgroup.
fehlermeldung kommt keine.
hat jemandne idee, woran es liegen kann?
zotac nano mit proxmox und ganz viel zeug drauf

Xunil66

Hatte das gleiche Problem

attr <WEBDEVICE> csrfToken none
und meine charts waren wieder da.
Markus
(FHEM Installation auf Raspberry PI mit Jessie Lite )

knopf_piano

Cheers, das wars. Danke
zotac nano mit proxmox und ganz viel zeug drauf

TWART016

Seit 2.6.6 kann die Navigationsleiste nicht mehr richtig ausgerichtet werden.

Ich möchte gerne die links auf die linke Seite ausrichten.

left-narrow habe ich in einer eigenen css definiert. Das wird jedoch zu weit links angezeigt.
.left-narrow-5 {
margin-left: -5px !important
}


Wie kann die breite von dem <nav id="menu"> festgelegt werden?

PatrickR

Hi!

Sorry, muss das Thema nochmal bumpen, da das Problem unverändert existiert. Gibt es dazu schon Erkenntnisse?

Patrick

Zitat von: PatrickR am 22 Februar 2017, 20:33:37
Mahlzeit!

Das CSRF-Update funktioniert bei mir leider auch nicht:

2017.02.22 20:25:00.072 3: FHEMWEB WEB_FTUI CSRF error:  ne test. For detals see the csrfToken FHEMWEB attribute


Man sieht auch sehr schön, wie Tablet UI leere CSRF-Tokens verschickt:

# tcpdump -A -i eth0 'port 8088 and (host 192.168.0.150 or host 192.168.0.151)'|grep --color=auto -i fwcsrf
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
cmd=get+HM_BVG+Botanischer-Garten&fwcsrf=&XHR=1


Konfiguration:

    <meta name='web_device' content='WEB_FTUI'>
    <meta name="fhemweb_url" content="http://XXX:8088/fhem">


Patrick
lepresenced - Tracking von Bluetooth-LE-Tags (Gigaset G-Tag) mittels PRESENCE

"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." - Rich Cook

setstate

Nein, wüsste nicht, was bei dir schief läuft.

Hat WEB_FTUI den Token als Attribute sichtbar?

Wenn du die Seite "http://XXX:8088/fhem" aufrufst, ist im Response Header der csrfToken enthalten?

PatrickR

Hi!
Zitat von: setstate am 25 Februar 2017, 20:21:46
Nein, wüsste nicht, was bei dir schief läuft.

Zitat von: setstate am 25 Februar 2017, 20:21:46
Hat WEB_FTUI den Token als Attribute sichtbar?
Nein. Der Default random greift, ist aber nicht explizit gesetzt. Wenn ich csrfToken von WEB_FTUI explizit auf random setze, ist das Fehlerbild unverändert.

Zitat von: setstate am 25 Februar 2017, 20:21:46
Wenn du die Seite "http://XXX:8088/fhem" aufrufst, ist im Response Header der csrfToken enthalten?
Ja:

% curl -s -D- -o /dev/null http://fhem:8088/fhem
HTTP/1.1 200 OK
Content-Length: 5502
Access-Control-Allow-Methods: GET POST OPTIONS
Access-Control-Allow-Headers: Origin, Authorization, Accept
Access-Control-Allow-Credentials: true
Access-Control-Max-Age:86400
X-FHEM-csrfToken: fhem_195738783016113
Content-Type: text/html; charset=UTF-8

Interessanterweise erscheint zu 99% nur der Fehler "Shortpoll request failed....".
ftui.poll.lastEventTimestamp.hhmmss() ändert sich nach einer gewissen Zeit regelmäßig.
ftui.poll.lastUpdateTimestamp.hhmmss() steht auf 00:00:00
ftui.poll.lastDevice, lastReading etc. bleiben leer.

Patrick
lepresenced - Tracking von Bluetooth-LE-Tags (Gigaset G-Tag) mittels PRESENCE

"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." - Rich Cook

Tobias

Gibt es denn auch schon eine Lösung zu den permanenten dis- und reconnects mit den websockets wie weiter oben beschrieben?
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter