Hauptmenü

jsonlist vs. jsonlist2

Begonnen von Waldmensch, 03 Februar 2015, 15:11:49

Vorheriges Thema - Nächstes Thema

Waldmensch

Hallo,

Ich versuche gerade ein kleines Plugin für enigma2 zu schreiben. Dazu frage ich die Daten über jsonlist ab. In der Commandref steht, das man nur noch jsonlist2 verwenden soll, da jsonlist bald rausfliegt. Nun ist es aber so, das ich auf http://192.168.178.40:8083/fhem?XHR=1&cmd=jsonlist+FHT mit dem Aufruf "FHT" diese schöne Übersicht bekomme

{
  "ResultSet": "devices#FHT",
  "Results": [
    {
      "name": "FHT_290c",
      "state": "???"
    },
    {
      "name": "FHT_2c41",
      "state": "measured-temp: 22.7"
    },
    {
      "name": "FHT_3b09",
      "state": "measured-temp: 18.4"
    },
    {
      "name": "FHT_5102",
      "state": "measured-temp: 21.0"
    },
    {
      "name": "FHT_5d26",
      "state": "measured-temp: 23.8"
    },
    {
      "name": "FHT_5d5a",
      "state": "???"
    },
    {
      "name": "FHT_624a",
      "state": "measured-temp: 22.6"
    }
  ],
  "totalResultsReturned": 7
}


und auf http://192.168.178.40:8083/fhem?XHR=1&cmd=jsonlist2+FHT nur das:

{
  "Arg":"FHT",
  "Results": [
  ],
  "totalResultsReturned":1
}


Desweiteren werden bei manchen readings die Einheiten dazugeliefert und bei manchen nicht. Bei MAX gibt es sogar sowas nichtnumerisches in der jsonlist (jsonlist2 output habe ich noch nicht, da ich selber kein MAX habe)

"desiredTemperature": {
          "TIME": "2015-02-01 19:41:19",
          "VAL": "off"
        },


Das Problem ist, das  ich jeden Wert als Zahl brauche um ihn in 0.5er Schritten zu erhöhen oder zu veringern um ihn dann wieder mit sowas
(Python)message = "/fhem?cmd.%s=set %s %s  %s &room=%s" % (name, name, property, value, room)
zu setzen.

Gibt es irgendwo etwas mehr Doku außer dem wenigen in der Commandref? Gibt es noch Andere hier, die die JSON Api nutzen - wie umschifft ihr die pro Modul unterschiedlichen readings bezügl. Name und Wert?

schwatter

Ich krame mal einen ganz alten Thread hoch, da ich mich gerade mit dem gleichen Thema auseinandersetze.

Und zwar hat Waldmensch sein Ok gegeben, um sein Plugin zu pflegen. Damals wusste ich aber noch nicht,
das Jsonlist durch Jsonlist2 ersetzt wird. Jetzt schon  ;D

Auch ich habe meine Probleme mit Jsonlist2. Hier ein Vergleich mit Homematic, bei Jsonlist und Jsonlist2.
Bei Jsonlist2 kommt kein Output, wo liegt mein Fehler?

/fhem?cmd=jsonlist+CUL_HM

{
  "ResultSet": "devices#CUL_HM",
  "Results": [
    {
      "name": "ActionDetector",
      "state": "alive:5 dead:0 unkn:0 off:0"
    },
    {
      "name": "HM_3F0E3E",
      "state": "unreachable"
    },
    {
      "name": "HM_566EBA",
      "state": "HM_566EBA_Btn_01 LongRelease"
    },
    {
      "name": "HM_566EBA_Btn_01",
      "state": "LongRelease 3_58 (to VCCU)"
    },
    {
      "name": "HM_566EBA_Btn_02",
      "state": "Short 1_9 (to VCCU)"
    },
    {
      "name": "HM_566EBA_Btn_03",
      "state": "Short 1_4 (to VCCU)"
    },
    {
      "name": "HM_566EBA_Btn_04",
      "state": "Short 1_24 (to VCCU)"
    },
    {
      "name": "HM_566EBA_Btn_05",
      "state": "Short 1_5 (to VCCU)"
    },
    {
      "name": "HM_566EBA_Btn_06",
      "state": "Short 1_1 (to VCCU)"
    },
    {
      "name": "Holzkessel",
      "state": "23.5 °C, 2018-08-30 22:12:33"
    },
    {
      "name": "Holzofen_Event",
      "state": "???"
    },
    {
      "name": "Holzofen_T1_T2",
      "state": "T: 0.9"
    },
    {
      "name": "Holzofen_T2_T1",
      "state": "T: -0.9"
    },
    {
      "name": "ThermostatSchlafzimmer",
      "state": "CMDs_done"
    },
    {
      "name": "ThermostatSchlafzimmer_Clima",
      "state": "T: 21.3 desired: 21.0 valve: 85"
    },
    {
      "name": "ThermostatSchlafzimmer_ClimaTeam",
      "state": "unpeered"
    },
    {
      "name": "ThermostatSchlafzimmer_Climate",
      "state": "unpeered"
    },
    {
      "name": "ThermostatSchlafzimmer_Weather",
      "state": "21.3"
    },
    {
      "name": "ThermostatSchlafzimmer_WindowRec",
      "state": "last:trigLast"
    },
    {
      "name": "ThermostatSchlafzimmer_remote",
      "state": "unpeered"
    },
    {
      "name": "Thermostat_KU",
      "state": "CMDs_done"
    },
    {
      "name": "Thermostat_KU_Clima",
      "state": "T: 22.9 desired: 23.5 valve: 100"
    },
    {
      "name": "Thermostat_KU_ClimaTeam",
      "state": "unpeered"
    },
    {
      "name": "Thermostat_KU_Climate",
      "state": "unpeered"
    },
    {
      "name": "Thermostat_KU_Weather",
      "state": "22.9"
    },
    {
      "name": "Thermostat_KU_WindowRec",
      "state": "last:trigLast"
    },
    {
      "name": "Thermostat_KU_remote",
      "state": "unpeered"
    },
    {
      "name": "Thermostat_WZ",
      "state": "CMDs_done"
    },
    {
      "name": "Thermostat_WZ_Clima",
      "state": "T: 22.9 desired: 23.5 valve: 100"
    },
    {
      "name": "Thermostat_WZ_ClimaTeam",
      "state": "unpeered"
    },
    {
      "name": "Thermostat_WZ_Climate",
      "state": "peered"
    },
    {
      "name": "Thermostat_WZ_Weather",
      "state": "22.9"
    },
    {
      "name": "Thermostat_WZ_WindowRec",
      "state": "last:trigLast"
    },
    {
      "name": "Thermostat_WZ_remote",
      "state": "unpeered"
    },
    {
      "name": "VCCU",
      "state": "myHmUART:ok,"
    },
    {
      "name": "VCCU_Btn1",
      "state": "???"
    },
    {
      "name": "Vact_Taster",
      "state": "???"
    },
    {
      "name": "Vact_dev",
      "state": "???"
    },
    {
      "name": "Wandthermostat_WZ",
      "state": "CMDs_done"
    },
    {
      "name": "Wandthermostat_WZ_Clima",
      "state": "Gemessen 22.9 °C  :  Gewünscht 23.5 °C  : Luftfeuchte 55.0 %"
    },
    {
      "name": "Wandthermostat_WZ_SwitchTr",
      "state": "unpeered"
    },
    {
      "name": "Wandthermostat_WZ_Weather",
      "state": "T: 22.9 H: 55"
    },
    {
      "name": "Wandthermostat_WZ_WindowRec",
      "state": "last:trigLast"
    },
    {
      "name": "Wandthermostat_WZ_remote",
      "state": "unpeered"
    },
    {
      "name": "Warmwasser",
      "state": "22.6 °C, 2018-08-30 22:12:33"
    },
    {
      "name": "Zentralheizung",
      "state": "CMDs_done"
    }
  ],
  "totalResultsReturned": 46
}


/fhem?cmd=jsonlist2+CUL_HM

{
  "Arg":"CUL_HM",
  "Results": [
  ],
  "totalResultsReturned":0
}



schwatter

#2
Ich probiere gerade Type und Rooms unter Jsonlist2. Dazu habe ich folgende Lösund von @DeeSPe gefunden.


sub roomsList
{
  my $type = shift;
  my @rooms;
  foreach (devspec2array(".*"))
  {
    foreach my $room (split /,/,AttrVal($_,"room",""))
    {
      push @rooms,$room if (!grep /^$room$/,@rooms);
    }
  }
  return join("\n",sort @rooms) if ($type);
  return \@rooms;
}


https://forum.fhem.de/index.php/topic,76565.msg684610.html#msg684610


Dieses habe ich in meine 99_myUtils.pm eingetragen und "shutdown restart" ausgeführt.


##############################################
# $Id: 99_myUtils.pm 15713 2017-12-28 11:01:02Z schwatter $
package main;

use strict;
use warnings;
use POSIX;

sub eq3StateFormat() {
  my $name = "eq3";

  my $ret ="";
  my $lastCheck = ReadingsTimestamp($name,"MATCHED_READINGS","???");
  $ret .= '<div style="text-align:left">';   
  $ret .= 'last <a title="eq3-downloads" href="http://www.eq-3.de/downloads.html">homematic</a>-fw-check => '.$lastCheck;   
  $ret .= '<br><br>';   
  $ret .= '<pre>';   
  $ret .= "| device                  | model                   | old_fw | new_fw | release    |\n"; 
  $ret .= "------------------------------------------------------------------------------------\n"; 
  my $check = ReadingsVal($name,"newFwForDevices","???");   
  if($check eq "no fw-updates needed!") {       
    $ret .= '| '.$check.'                                                            |';     
  } else {         
    my @devices = split(',',$check);         
    foreach my $devStr (@devices) {
      my ($dev,$md,$ofw,$idx,$nfw,$date) = $devStr =~ m/^([^\s]+)\s\(([^\s]+)\s\|\sfw_(\d+\.\d+)\s=>\sfw(\d\d)_([\d\.]+)\s\|\s([^\)]+)\)$/;         
      my $link = ReadingsVal($name,"fw_link-".$idx,"???");           
      $ret .= '| ';         
      $ret .= '<a href="/fhem?detail='.$dev.'">';           
      $ret .= sprintf("%-23s",$dev);             
      $ret .= '</a>';           
      $ret .= " | ";             
      $ret .= '<b'.(($md eq "?")?' title="missing attribute model => set device in teach mode to receive missing data" style="color:yellow"':' style="color:lightgray"').'>';           
      $ret .= sprintf("%-23s",$md);         
      $ret .= '</b>';           
      $ret .= " | ";             
      $ret .= '<b'.(($ofw eq "0.0")?' title="missing attribute firmware => set device in teach mode to receive missing data" style="color:yellow"':' style="color:lightgray"').'>';             
      $ret .= sprintf("%6s",$ofw);           
      $ret .= '</b>';           
      $ret .= " | ";             
      $ret .= '<a title="eq3-firmware.tgz" href="'.$link.'">';           
      $ret .= '<b style="color:red">';           
      $ret .= sprintf("%6s",$nfw);           
      $ret .= '</b>';           
      $ret .= '</a>';           
      $ret .= " | ";             
      $ret .= sprintf("%-10s",$date);           
      $ret .= " |\n";       
    }   
  } 
  $ret .= '</pre>'; 
  $ret .= '</div>'; 
  return $ret;
}

sub roomsList
{
  my $type = shift;
  my @rooms;
  foreach (devspec2array(".*"))
  {
    foreach my $room (split /,/,AttrVal($_,"room",""))
    {
      push @rooms,$room if (!grep /^$room$/,@rooms);
    }
  }
  return join("\n",sort @rooms) if ($type);
  return \@rooms;
}



Leider bekomme ich keine Werte, wenn ich z.B in der Fhem-Kommandozeile "jsonlist2 rooms" eingebe.
Auch so "jsonlist2 {roomsList(,,$room")}" kommt nur eine Gesamtausgabe.

Wzut

Zitat von: schwatter am 30 August 2018, 22:32:07
Auch ich habe meine Probleme mit Jsonlist2. Hier ein Vergleich mit Homematic, bei Jsonlist und Jsonlist2.
Bei Jsonlist2 kommt kein Output, wo liegt mein Fehler?

/fhem?cmd=jsonlist+CUL_HM

--snipp --

/fhem?cmd=jsonlist2+CUL_HM

/fhem?cmd=jsonlist2+TYPE=CUL_HM
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

schwatter

Ah ok, danke.
Jetzt nachdem ich nach deinen Infos suche, sehe ich, das rudolfkoenig es mit list (devspec) gleichgezogen hat.

https://forum.fhem.de/index.php/topic,23625.msg168813.html#msg168813

Jetzt fehlt nur noch die Roomübersicht.

schwatter

Mh, das ist schon nicht so schlecht.

jsonlist2 TYPE=.* room

ergibt


jsonlist2 TYPE=.* room
{
  "Arg":"TYPE=.* room",
  "Results": [
  {
    "Name":"ActionDetector",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "CUL_HM" }
  },
  {
    "Name":"DLNASocket-dlnadevices-30",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "hidden" }
  },
  {
    "Name":"DLNASocket-dlnadevices-31",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "hidden" }
  },
  {
    "Name":"DLNASocket-dlnadevices-32",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "hidden" }
  },
  {
    "Name":"DLNA_b836db83a7e8",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "3. Wohnzimmer" }
  },
  {
    "Name":"Dum_Volume_D",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "2. Küche" }
  },
  {
    "Name":"FB_IT_1",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "IT" }
  },
  {
    "Name":"FB_IT_2",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "IT" }
  },
  {
    "Name":"FB_IT_3",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "IT" }
  },
  {
    "Name":"FB_IT_4",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "IT" }
  },
  {
    "Name":"FB_IT_Four",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "6. Notify" }
  },
  {
    "Name":"FB_IT_One",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "6. Notify" }
  },
  {
    "Name":"FB_IT_Three",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "6. Notify" }
  },
  {
    "Name":"FB_IT_Two",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "6. Notify" }
  },
  {
    "Name":"FB_Radiotoggle",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "7. DOIF" }
  },
  {
    "Name":"Fernseher",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "3. Wohnzimmer" }
  },
  {
    "Name":"Fernseher_Hdmi1",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Fernseher_Hdmi2",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Fernseher_Hdmi3",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Fernseher_off",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Fernseher_on",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"FileLog_FB_IT_1",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "IT" }
  },
  {
    "Name":"FileLog_FB_IT_2",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "IT" }
  },
  {
    "Name":"FileLog_FB_IT_3",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "IT" }
  },
  {
    "Name":"FileLog_FB_IT_4",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "IT" }
  },
  {
    "Name":"FileLog_Gosund_Trockner",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "MQTT2_DEVICE" }
  },
  {
    "Name":"FileLog_Gosund_Waschmaschine",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "MQTT2_DEVICE" }
  },
  {
    "Name":"FileLog_HM_3F0E3E",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "CUL_HM" }
  },
  {
    "Name":"FileLog_HM_566EBA",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "CUL_HM" }
  },
  {
    "Name":"FileLog_IT_00000FFF",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "IT" }
  },
  {
    "Name":"FileLog_IT_00000FFFFF",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "IT" }
  },
  {
    "Name":"FileLog_IT_0FFF0FFFFF",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "IT" }
  },
  {
    "Name":"FileLog_IT_1527x7ed40",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "IT" }
  },
  {
    "Name":"FileLog_MQTT2_DVES_13E03A",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "MQTT2_DEVICE" }
  },
  {
    "Name":"FileLog_MeinWetter",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "Wettervorhersage" }
  },
  {
    "Name":"FileLog_Pumpe",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "CUL_HM" }
  },
  {
    "Name":"FileLog_ThermoHygro_KU",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "CUL_TX" }
  },
  {
    "Name":"FileLog_ThermostatSchlafzimmer",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "CUL_HM" }
  },
  {
    "Name":"FileLog_Thermostat_KU",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "CUL_HM" }
  },
  {
    "Name":"FileLog_Thermostat_WZ",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"FileLog_WT_WZ",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "CUL_HM" }
  },
  {
    "Name":"FileLog_Wandthermostat_WZ",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "CUL_HM" }
  },
  {
    "Name":"FileLog_Zentralheizung",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "CUL_HM" }
  },
  {
    "Name":"FileLog_sysmon",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "8. System" }
  },
  {
    "Name":"Firekeeper",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "MQTT" }
  },
  {
    "Name":"Firekeeper_DOIF",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "7. DOIF" }
  },
  {
    "Name":"FritzBox",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "8. System" }
  },
  {
    "Name":"Func_Radio_Play_N",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "6. Notify" }
  },
  {
    "Name":"Func_VolAut_N",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "6. Notify" }
  },
  {
    "Name":"Func_Volume_N",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "6. Notify" }
  },
  {
    "Name":"Gosund_Kaffeemaschine",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "2. Küche,MQTT" }
  },
  {
    "Name":"Gosund_Trockner",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "5. Waschküche,MQTT2_DEVICE" }
  },
  {
    "Name":"Gosund_Trockner_DOIF_1",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Gosund_Waschmaschine",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "5. Waschküche,MQTT2_DEVICE" }
  },
  {
    "Name":"Gosund_Waschmaschine_DOIF_1",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Gosund_Wasserkocher",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "2. Küche,MQTT" }
  },
  {
    "Name":"HM_3F0E3E",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "CUL_HM" }
  },
  {
    "Name":"HM_566EBA",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "CUL_HM" }
  },
  {
    "Name":"HM_566EBA_Btn_01",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"HM_566EBA_Btn_02",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"HM_566EBA_Btn_03",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"HM_566EBA_Btn_04",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"HM_566EBA_Btn_05",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"HM_566EBA_Btn_06",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Holzkessel",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "1. Heizung" }
  },
  {
    "Name":"Holzofen_Event",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Holzofen_T1_T2",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Holzofen_T2_T1",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Holzofenwatchdog",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "1. Heizung,7. DOIF" }
  },
  {
    "Name":"IT_00000FFF",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "IT" }
  },
  {
    "Name":"IT_00000FFFFF",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "IT" }
  },
  {
    "Name":"IT_0FFF0FFFFF",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "IT" }
  },
  {
    "Name":"IT_1527x7ed40",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "IT" }
  },
  {
    "Name":"Lampe1_WZ",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "3. Wohnzimmer,MQTT" }
  },
  {
    "Name":"Lampe1_WZ_DOIF",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "7. DOIF" }
  },
  {
    "Name":"Lampe2_WZ",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "3. Wohnzimmer,MQTT" }
  },
  {
    "Name":"Lampe2_WZ_DOIF",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "7. DOIF" }
  },
  {
    "Name":"Lampen_WZ_Timer",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "7. DOIF" }
  },
  {
    "Name":"Logfile",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Luftfeuchtesteuerung",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "7. DOIF" }
  },
  {
    "Name":"MPD",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "2. Küche" }
  },
  {
    "Name":"MPD_DOIF_1",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "7. DOIF" }
  },
  {
    "Name":"MQTT2_DVES_13E03A",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "MQTT2_DEVICE" }
  },
  {
    "Name":"MeinWetter",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "Wettervorhersage" }
  },
  {
    "Name":"RaspiVolume_HM_DOIF",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "7. DOIF" }
  },
  {
    "Name":"SVG_0",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "8. System" }
  },
  {
    "Name":"SVG_FileLog_MeinWetter_1",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "Wettervorhersage" }
  },
  {
    "Name":"SVG_FileLog_ThermoHygro_KU_1",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "2. Küche" }
  },
  {
    "Name":"SVG_FileLog_ThermostatSchlafzimmer_1",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "4. Schlafzimmer" }
  },
  {
    "Name":"SVG_FileLog_Thermostat_KU_1",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "Unsorted" }
  },
  {
    "Name":"SVG_FileLog_Thermostat_WZ_1",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "Unsorted" }
  },
  {
    "Name":"SVG_FileLog_Wandthermostat_WZ_1",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "3. Wohnzimmer" }
  },
  {
    "Name":"SVG_FileLog_Zentralheizung_1",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "1. Heizung" }
  },
  {
    "Name":"Sonoff_klatschtoggle",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "7. DOIF" }
  },
  {
    "Name":"Systembefehle",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "8. System" }
  },
  {
    "Name":"TTS",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "8. System" }
  },
  {
    "Name":"ThermoHygro_KU",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "2. Küche,CUL_TX" }
  },
  {
    "Name":"ThermostatSchlafzimmer",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "4. Schlafzimmer,CUL_HM" }
  },
  {
    "Name":"ThermostatSchlafzimmer_Clima",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "4. Schlafzimmer" }
  },
  {
    "Name":"ThermostatSchlafzimmer_ClimaTeam",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"ThermostatSchlafzimmer_Climate",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"ThermostatSchlafzimmer_Weather",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"ThermostatSchlafzimmer_WindowRec",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"ThermostatSchlafzimmer_remote",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Thermostat_KU",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "2. Küche,CUL_HM" }
  },
  {
    "Name":"Thermostat_KU_Clima",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "2. Küche" }
  },
  {
    "Name":"Thermostat_KU_ClimaTeam",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Thermostat_KU_Climate",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Thermostat_KU_Weather",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "Unsorted" }
  },
  {
    "Name":"Thermostat_KU_WindowRec",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Thermostat_KU_remote",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Thermostat_WZ",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "3. Wohnzimmer,CUL_HM" }
  },
  {
    "Name":"Thermostat_WZ_Clima",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "3. Wohnzimmer" }
  },
  {
    "Name":"Thermostat_WZ_ClimaTeam",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Thermostat_WZ_Climate",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Thermostat_WZ_Weather",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Thermostat_WZ_WindowRec",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Thermostat_WZ_remote",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"VCCU",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "CUL_HM" }
  },
  {
    "Name":"VCCU_Btn1",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Vact_Taster",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Vact_dev",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "CUL_HM" }
  },
  {
    "Name":"VuPlusDuo2",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "3. Wohnzimmer" }
  },
  {
    "Name":"VuPlusDuo2_DOIF_1",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "7. DOIF" }
  },
  {
    "Name":"WEB",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "8. System" }
  },
  {
    "Name":"WEB_192.168.178.34_49152",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "hidden" }
  },
  {
    "Name":"WEB_192.168.178.34_49153",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "hidden" }
  },
  {
    "Name":"WEB_192.168.178.34_49163",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "hidden" }
  },
  {
    "Name":"WEB_192.168.178.34_65531",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "hidden" }
  },
  {
    "Name":"WEB_192.168.178.34_65532",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "hidden" }
  },
  {
    "Name":"WEB_192.168.178.34_65533",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "hidden" }
  },
  {
    "Name":"WEB_192.168.178.34_65534",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "hidden" }
  },
  {
    "Name":"WEB_Speedtest",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "8. System" }
  },
  {
    "Name":"WEBphone",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "8. System" }
  },
  {
    "Name":"WEBtablet",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "8. System" }
  },
  {
    "Name":"Wandthermostat_WZ",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "3. Wohnzimmer,CUL_HM" }
  },
  {
    "Name":"Wandthermostat_WZ_Clima",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "3. Wohnzimmer" }
  },
  {
    "Name":"Wandthermostat_WZ_SwitchTr",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Wandthermostat_WZ_Weather",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Wandthermostat_WZ_WindowRec",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Wandthermostat_WZ_remote",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"Warmwasser",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "1. Heizung" }
  },
  {
    "Name":"Wohnzimmer_Dimmer",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "3. Wohnzimmer" }
  },
  {
    "Name":"Zentralheizung",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "1. Heizung,CUL_HM" }
  },
  {
    "Name":"allowed_WEB",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"allowed_WEBphone",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"allowed_WEBtablet",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"autocreate",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"dlnadevices",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "8. System" }
  },
  {
    "Name":"ej_Gosund",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"eventTypes",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"global",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"hm",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"initialUsbCheck",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"meinFHEMserver",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "8. System" }
  },
  {
    "Name":"myBroker",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "MQTT" }
  },
  {
    "Name":"myCUL433",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "8. System" }
  },
  {
    "Name":"myCUL868FTDI",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "8. System" }
  },
  {
    "Name":"myFhembroker",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "MQTT2_DEVICE" }
  },
  {
    "Name":"myFhembroker_192.168.178.46_6638",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "hidden" }
  },
  {
    "Name":"myFhembroker_192.168.178.48_32576",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "hidden" }
  },
  {
    "Name":"myFhembroker_192.168.178.53_10597",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "hidden" }
  },
  {
    "Name":"myHmUART",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "8. System" }
  },
  {
    "Name":"rg_battery",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "9. Batteriestatus" }
  },
  {
    "Name":"sysmon",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "8. System" }
  },
  {
    "Name":"telnetPort",
    "Internals": { },
    "Readings": { },
    "Attributes": { }
  },
  {
    "Name":"telnetPort_127.0.0.1_43380",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "hidden" }
  },
  {
    "Name":"weblink_meinwetter",
    "Internals": { },
    "Readings": { },
    "Attributes": {      "room": "Wettervorhersage" }
  }  ],
  "totalResultsReturned":168
}


Geht das noch etwas cleaner?

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!