Auslesen der möglichen Set und Get Parameter sowie der möglichen ATTR devices

Begonnen von ahlermi, 21 Februar 2022, 08:09:46

Vorheriges Thema - Nächstes Thema

ahlermi

Leider darf ich nicht in "FHEM Development" schreiben, also hier:

Ich versuche gerade aus Performance und Ausfallsicherheitsgründen Lokale und Internetmodule zu trennen in 2 FHEM instanzen, die Kommunikation würde ich gerne mit FHEM2FHEM abwickeln, sieht soweit ganz gut aus.
Da ich das generisch machen möchte, würde ich das gerne über DUMMY Devices in der Lokalen Instanz abwickeln, die ich automatisch aus der RemoteInstanz anlege.


Internals:
   CFGFN     
   DEF        .* {
  my @EVENTS  = split / /, $EVENT;
  my $reading = "";

  Log 3 , "Event: " . $EVENT;

  if (ReadingsVal($NAME, "remotesend", "0") eq "0") {
    fhem("set forwardRemote define rem_" . $NAME . " dummy");
    fhem("set forwardRemote attr rem_" . $NAME . " room Remote");
    fhem("setreading $NAME remotesend 1");
  }

  $reading = $EVENTS[0];
  $reading=~ s/://;
  Log 3 , $reading . " " . @EVENTS;
  if ($reading ne "setreading"){
    if (@EVENTS > 1){   
      fhem("set forwardRemote setreading rem_" . $NAME . " " . $reading . " " . $EVENTS[1]);
    }else{
      fhem("set forwardRemote setreading rem_" . $NAME . " state " . $EVENTS[0]);
    }
  }
}
   FUUID      62128fe1-f33f-7731-c521-9c79e9473ff8931f
   NAME       n_send_all
   NR         51
   NTFY_ORDER 50-n_send_all
   REGEXP     .*
   STATE      2022-02-21 08:01:45
   TRIGGERTIME 1645426905.84465
   TYPE       notify
   READINGS:
     2022-02-20 21:03:22   state           active
     2022-02-21 08:01:45   triggeredByDev  myGardenaBridge
     2022-02-21 08:01:45   triggeredByEvent connection_status-timestamp: 2022-02-21T07:01:44.591Z
Attributes:
   room       Remote


Jetzt mein Problem, ich würde gerne alle möglichen Set, Get und Attribute direkt im Dummy mit anlegen, damit ich dann in der Lokalen Instanz wie gewoht die Steuerung übernehmen kann.

Hat mein HEOS gerät also VolumeUp, VolumeDown... würde ich das gerne in der SetList für mein rem_HEOS Dummy hinterlegen.
Optimalerweise natürlich mit allen Werten die möglich sind.

Kann mir wer helfen?

Gruß Michael
PI4 FHEM, PI3 FHEM, 6 x Echo mit talk2fhem, Siri, SNIPS auf PI3 mit Samson UB1, YeeLight, Homematic, MAX!, 433Mhz, LaCross, Xiaomi Vacuum V1, ESPEasy, Gardena, Telegram, FLOORPLAN, HEOS, Xiaomi Aqara, Sonoff, SolvisMax, SolvisClient, HUE, ESPEasy für Bayernlüfter, Harmony, Tasmota, JKBMS, EASUN

Beta-User

Es gibt dazu eine Ladung Funktionen in fhem.pl, z.B.:
{getAllSets('<deindevice>')}

Ansonsten habe ich eine Ladung Fragezeichen, ob das so klappt, wie du dir das vorstellst, und würde ergänzend eher die Frage stellen, ob es sich nicht lohnen würde, die Konstruktion über MQTT_GENERIC_BRIDGE zu machen und auf der "Senderseite" bestimmte Dinge zu "normalisieren". Beispiel VolumeUp ist nicht "optimal", sondern eher "volumeUp", siehe https://wiki.fhem.de/wiki/DevelopmentGuidelinesAV.
Ist aber leider nicht ganz so "pauschal" einrichtbar.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

ahlermi

Danke!


getAllAttr($;$$);
getAllGets($;$);
getAllSets($;$);


Das sind genau die Funktionen die ich noch nirgendwo gefunden habe :-)

Ich bin ein riesen Stück weiter, wenn es zuverlässig läuft schick ich mal ein update.

HEOS, GardenaSmart liesen sich ohne ein zutun nun so fast komplett auslagern.
PI4 FHEM, PI3 FHEM, 6 x Echo mit talk2fhem, Siri, SNIPS auf PI3 mit Samson UB1, YeeLight, Homematic, MAX!, 433Mhz, LaCross, Xiaomi Vacuum V1, ESPEasy, Gardena, Telegram, FLOORPLAN, HEOS, Xiaomi Aqara, Sonoff, SolvisMax, SolvisClient, HUE, ESPEasy für Bayernlüfter, Harmony, Tasmota, JKBMS, EASUN