Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE

Begonnen von supernova1963, 23 September 2018, 19:17:21

Vorheriges Thema - Nächstes Thema

Ranseyer

Ich müsste auch mal etwas fragen:

-Zigbee Geräte laufen mit dem Neumann-Modul einwandfrei bei mir.
-Aber unnötige Komponenten versuche ich immer zu vermeiden (Wo die Node.JS Sachen m.E am schlimmsten sind, also zigbee2mqtt geht eigentlich gar nicht...)
-Außerdem möchte ich offen bleiben und NodeRed nutzen können z.B. als Frontend

Also war die Idee den MQTT2Server möglichst zu meiden und einen Standard Broker zu verwenden.
Frage: Ich könnte trotzdem den internen MQTT2_Server und diesen ggf. auch später mal mit Node-Red zusammen verwenden ?

Status:

Meine Client-ID vom zigbee 2mqtt: client_id: zigbee_odroid
Zigbee2MQTT ist so konfiguriert dass direkt auf den MQTT2_FHEM_Server zugegriffen wird.

Dann habe ich ein Device MQTT2_Zentral
Internals:
   CID        MQTT2_FHEM_Server
   DEF        MQTT2_FHEM_Server
   DEVICETOPIC MQTT2_Zentral
   IODev      MQTT2_FHEM_Server
   NAME       MQTT2_Zentral
   NR         63
   STATE      permit_join
   TYPE       MQTT2_DEVICE
   READINGS:
     2018-11-22 15:55:17   state           permit_join
Attributes:
   IODev      MQTT2_FHEM_Server
   room       TRX
   setList    permit_join:true,false zigbee2mqtt/bridge/config/permit_join $EVTPART1
remove:textField zigbee2mqtt/bridge/config/remove $EVTPART1
log_level:debug,info,warn,error zigbee2mqtt/bridge/config/log_level $EVTPART1
rename:textField zigbee2mqtt/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}
network_map:raw,graphviz zigbee2mqtt/bridge/networkmap  $EVTPART1
devicelist:noArg zigbee2mqtt/bridge/config/devices


Automatisch wurde angelegt (allerdigs recht unklar welches Devices was macht, also habe ich seitens Zigbee2Mqtt einen Friendly Name vergeben um duchgängig zu sein. In die Readings übernomen wurden die Friendly Name allerdings nicht, "deleteattr MQTT2_zigbee_odroid readingList" hat auch nix gebracht. Daher habe ich dieses Device einfach nochmals gelöscht, es wurde erst nach einem FHEM Neustart wieder angelegt):
Internals:
   CFGFN     
   CID        zigbee_odroid
   DEF        zigbee_odroid
   DEVICETOPIC MQTT2_zigbee_odroid
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 11
   MQTT2_FHEM_Server_TIME 2018-11-22 16:14:35
   MSGCNT     11
   NAME       MQTT2_zigbee_odroid
   NR         63
   STATE      OFF
   TYPE       MQTT2_DEVICE
   READINGS:
     2018-11-22 16:14:35   action          wakeup
     2018-11-22 16:14:35   battery         55
     2018-11-22 16:13:56   contact         false
     2018-11-22 16:13:56   illuminance     3
     2018-11-22 16:14:35   linkquality     147
     2018-11-22 16:15:21   message_1_friendly_name Cube1_0x00158d000279119c
     2018-11-22 16:15:21   message_1_ieeeAddr 0x00158d000279119c
     2018-11-22 16:15:21   message_1_model MFKZQ01LM
     2018-11-22 16:15:21   message_1_type  EndDevice
     2018-11-22 16:15:21   message_2_friendly_name SW_Gyro_0x00158d0001b9734b
     2018-11-22 16:15:21   message_2_ieeeAddr 0x00158d0001b9734b
     2018-11-22 16:15:21   message_2_model WXKG12LM
     2018-11-22 16:15:21   message_2_type  EndDevice
     2018-11-22 16:15:21   message_3_friendly_name PIR_0x00158d000236cd80
     2018-11-22 16:15:21   message_3_ieeeAddr 0x00158d000236cd80
     2018-11-22 16:15:21   message_3_model RTCGQ11LM
     2018-11-22 16:15:21   message_3_type  EndDevice
     2018-11-22 16:15:21   message_4_friendly_name Vibr_0x00158d0002a920f4
     2018-11-22 16:15:21   message_4_ieeeAddr 0x00158d0002a920f4
     2018-11-22 16:15:21   message_4_model DJT11LM
     2018-11-22 16:15:21   message_4_type  EndDevice
     2018-11-22 16:15:21   message_5_friendly_name Window_0x00158d00023867d8
     2018-11-22 16:15:21   message_5_ieeeAddr 0x00158d00023867d8
     2018-11-22 16:15:21   message_5_model MCCGQ11LM
     2018-11-22 16:15:21   message_5_type  EndDevice
     2018-11-22 16:15:21   message_6_friendly_name 0x00158d00027a43e4
     2018-11-22 16:15:21   message_6_ieeeAddr 0x00158d00027a43e4
     2018-11-22 16:15:21   message_6_model 0x656275635f726f736e65732e696d756c
     2018-11-22 16:15:21   message_6_type  EndDevice
     2018-11-22 16:15:21   message_7_friendly_name Osram1_0x84182600000f14a2
     2018-11-22 16:15:21   message_7_ieeeAddr 0x84182600000f14a2
     2018-11-22 16:15:21   message_7_model AB3257001NJ
     2018-11-22 16:15:21   message_7_type  Router
     2018-11-22 16:15:21   message_8_friendly_name Osram2_0x84182600000f23d7
     2018-11-22 16:15:21   message_8_ieeeAddr 0x84182600000f23d7
     2018-11-22 16:15:21   message_8_model AB3257001NJ
     2018-11-22 16:15:21   message_8_type  Router
     2018-11-22 16:13:56   occupancy       false
     2018-11-22 16:14:01   state           OFF
     2018-11-22 16:15:21   type            devices
     2018-11-22 16:14:35   voltage         2995
Attributes:
   IODev      MQTT2_FHEM_Server
   readingList zigbee_odroid:zigbee2mqtt/bridge/state:.* state
zigbee_odroid:zigbee2mqtt/Cube1_0x00158d000279119c:.* { json2nameValue($EVENT) }
zigbee_odroid:zigbee2mqtt/SW_Gyro_0x00158d0001b9734b:.* { json2nameValue($EVENT) }
zigbee_odroid:zigbee2mqtt/PIR_0x00158d000236cd80:.* { json2nameValue($EVENT) }
zigbee_odroid:zigbee2mqtt/Window_0x00158d00023867d8:.* { json2nameValue($EVENT) }
zigbee_odroid:zigbee2mqtt/Osram1_0x84182600000f14a2:.* { json2nameValue($EVENT) }
zigbee_odroid:zigbee2mqtt/Osram2_0x84182600000f23d7:.* { json2nameValue($EVENT) }
zigbee_odroid:zigbee2mqtt/bridge/log:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE


Fazit: Das Neumann Modul scheint mir für den Anfang einfacher. Hiermit vermute ich später mal mehr machen zu können... Ob mein FHEM-Wissen dazu reicht: ???, schon die Attribute setzen für ein paar billige Devices ist für mich ganz schon komplex (Die Muster aus dem Wiki)


Frage: Das "vereinzeln" habe ich nicht ganz verstanden, und würde mich über einen Beispielbefehl aus meinem Muster freuen.
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

mark79

Zitat von: rudolfkoenig am 22 November 2018, 11:14:23
@mark79: bitte die Listings demnaechst mit "list -r" oder "Raw definition" Link unten in der Detailansicht erstellen, sonst muss ich fuers Nachstellen anfangen zu editieren und ich will Arbeit sparen und Vertipper vermeiden.

Sonst: ich bleibe bei meiner Aussage: mit dem eventMap ist nicht nur die Anzeige kaputt, es wird auch was kaputtes per publish zum MQTT Server weitergegeben. Auch von der "Theorie" her macht dieses Eventmap keinen Sinn. Wuerde mich freuen, wenn jemand mir zeigt, wo das Problem ist. Bzgl. ON/on: Das ist so gewollt, und sollte funktionieren. Ich habe fuer ON/OFF Icon-Alias angelegt, damit man fuer die Icons das lowercase sparen kann.
Mach ich das nächste mal, ich kannte vorher nur das normale list, was sich jeder hier wünschte... :D
Kannst du mir bitte ein LIST von dir zukommen lassen, von einem MQTT2 Zigbee Ikea Device?
Mich würde interessieren, warum das bei dir ohne Eventmap geht und bei mir nicht und wie sich das unterscheidet.

Zitat von: Ranseyer am 22 November 2018, 17:24:37
Frage: Das "vereinzeln" habe ich nicht ganz verstanden, und würde mich über einen Beispielbefehl aus meinem Muster freuen.

Was genau meinst du mit vereinzeln und Attribute setzen?

Schmeißt er dir alle MQTT Geräte in ein Device, oder wo genau liegt das Problem?

Der MQTT2_SERVER macht das so weit ich weiß von alleine, ohne großartig was zu konfigurieren. Allerdings wenn du einen Friendly Namen in Zigbee2mqtt setzt, weiß ich nicht, ob das auch so funktioniert, weil sich dadurch dann auch das MQTT Topic ändert.
Wenn du mit Node_Red rummachen willst, würde ich lieber den MQTT2_CLIENT + externen Broker nehmen. Das ist sicherlich performanter.

Ich habe das mit dem Friendly Namen (ich habe es test genannt) in Zigbee2mqtt beim MQTT2_CLIENT (mit externen mosquitto-server) ausprobiert.
Das Geräte wurde korrekt mit Namen MQTT2_zigbee_test in Fhem angelegt:

define MQTT2_zigbee_test MQTT2_DEVICE zigbee_test
attr MQTT2_zigbee_test DbLogExclude .*
attr MQTT2_zigbee_test IODev mosquitto
attr MQTT2_zigbee_test readingList mosquitto:zigbee2mqtt/test:.* { json2nameValue($EVENT) }
attr MQTT2_zigbee_test room MQTT2_DEVICE

setstate MQTT2_zigbee_test 2018-11-22 22:10:16 battery 98.33
setstate MQTT2_zigbee_test 2018-11-22 22:10:16 illuminance 3
setstate MQTT2_zigbee_test 2018-11-22 22:10:16 occupancy true
setstate MQTT2_zigbee_test 2018-11-22 22:10:16 voltage 2995


Allerdings muss man bei MQTT2_CLIENT noch ein Bridgeregex setzen, macht man das nicht, haut er dir alle Devices erst in ein Fhem Device. z.B. für Zigbee2mqtt:
bridgeRegexp zigbee2mqtt/([^:]*):.* "zigbee_$1"
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

Ranseyer

ZitatWas genau meinst du mit vereinzeln und Attribute setzen?

Ich hab das Wiki so verstanden dass es normal ist dass alles in einem Device landet und man von Hand aktiv werden muss.
Aber mit der Bridgeregex ist das nun super. Ich schau mir das Wiki nochmals genauer an ob das Wiki oder ich das Problem war...
Danke!

FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Beta-User

...das wiki ist das Problem; ich muß das erst selbst mit dem aktuellen fhem-Stand nachstellen, wird noch dauern; Freiwillige vor...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

rudolfkoenig

ZitatIch hab das Wiki so verstanden dass es normal ist dass alles in einem Device landet und man von Hand aktiv werden muss.
Versuche zu klaeren: mit MQTT2_CLIENT, autocreate und mosquitto wird nur ein MQTT2_DEVICE automatisch erstellt, alle anderen muss man manuell anlegen. MQTT2_SERVER legt fuer alle _direkt_ verbundenen MQTT Geraete ein MQTT2_DEVICE an, weil er sie an dem clientId unterscheiden kann. Das MQTT Protokoll ist assymetrisch: clientId kennt nur der Server, und er kann sie nicht weitergeben.

Wenn man per bridge mehrere Geraete (z.Bsp. zigbee) anbindet, dann muss man in beiden Faellen (MQTT2_CLIENT und SERVER) auf dem als bridge angelegten MQTT2_DEVICE das bridgeRegexp Attribut setzen, damit die einzelnen zigbee Geraete automatisch angelegt werden.
ZitatKannst du mir bitte ein LIST von dir zukommen lassen, von einem MQTT2 Zigbee Ikea Device?
Meinst du mich? Ich habe keine solchen Geraete. Ich teste nur "trocken", indem ich die Logs bei "attr verbose 5" beobachte.
Mein Config entspricht einem "nackten" MQTT2_DEVICE + attrTemplate. Kann gut sein, dass ich dabei was uebersehe. Aber die EventMap Geschichte mit "on:ON:off off:OFF:on" generiert bei mir definitiv kaputte Messages der Sorte {"state":"ON"} off, und das ist kein JSON mehr.

akr1983

Zitat von: rudolfkoenig am 22 November 2018, 23:19:39
Mein Config entspricht einem "nackten" MQTT2_DEVICE + attrTemplate. Kann gut sein, dass ich dabei was uebersehe. Aber die EventMap Geschichte mit "on:ON:off off:OFF:on" generiert bei mir definitiv kaputte Messages der Sorte {"state":"ON"} off, und das ist kein JSON mehr.

Ich würde dir hier recht geben, ich arbeite ohne eventMap und hab keinerlei Probleme... Egal Ob Ikea Tradfri, Hue, Osram oder Innr. Hier hat sich ein ziemlicher Zoo an devices angesammelt ;-)

akr1983

Zitat von: rudolfkoenig am 22 November 2018, 11:14:23
@akr1983: ich habe jetzt eine Weile mit mosquitto und ein FHEM mit MQTT2_CLIENT und MQTT gespielt, kann aber kein Problem feststellen. Ein rename setzt zwar interne Datenstrukturen um, sollte aber nichts bewirken. Bei einem gerade durchgefuehrten Test mit MQTT_CLIENT/mosquitto, habe ich kein Unterschied gesehen, d.h. ich vermute, die Ursache ist was Anderes, was mir noch unbekannt ist.

In der Zwischenzeit bin ich auch schon schlauer. Es scheint wirklich an meinem System zu liegen. Ich forsche aktuell noch, woran es wirklich liegt. Das Umbenennen ist es jedenfalls doch nicht gewesen. Ich hab hab aktuell den Verdacht dass eines der angelernten Devices an Koenkks MQTT Bridge das Problem verursacht. Das dort in einer Statusmeldung was komisches drin gewesen ist, was dann wiederrum als state irgendwo "festhängt". Allerdings hab ich mal wieder 5 Sachen gleichzeitig gemacht. Deshalb kann ich es leider nicht weiter einschränken :-/ Tut mir leid wenn ich dir so viel Arbeit umsonst gemacht hab...

Dafür kann ich jetzt den Farbwechsel beisteuern...

Beim Farbwechsel im setList folgende Zeile ergänzen:

  color:colorpicker,RGB {"zigbee2mqtt/Kueche_Licht_Arbeitsplatte/set " . encode_json(convertRGBtoR_G_B($EVTPART1))}


Zusätzlich das webCmd um Color erweitern. Als Beispiel:

attr Kueche_Licht_Arbeitsplatte webCmd toggle:on:off:brightness:color:color_temp


Und als letzten Schritt noch in die 99_myUtils.pm einfügen:

sub convertRGBtoR_G_B($) {
        my $rgb = shift(@_);
        $rgb =~ m/^(..)(..)(..)/;
        my( $r, $g, $b ) = (hex($1)/255.0, hex($2)/255.0, hex($3)/255.0);
        my %color_hash = (r => $r, g => $g, b => $b);
        my %set_hash = ('transition' => 1, 'color' => \%color_hash);

        return \%set_hash;
}

mark79

Zitat von: rudolfkoenig am 22 November 2018, 23:19:39
Meinst du mich? Ich habe keine solchen Geraete. Ich teste nur "trocken", indem ich die Logs bei "attr verbose 5" beobachte.
Mein Config entspricht einem "nackten" MQTT2_DEVICE + attrTemplate. Kann gut sein, dass ich dabei was uebersehe. Aber die EventMap Geschichte mit "on:ON:off off:OFF:on" generiert bei mir definitiv kaputte Messages der Sorte {"state":"ON"} off, und das ist kein JSON mehr.
Ja dich meinte ich. :)
Am besten, ich probiere das am Wochenende noch ein mal aus, bin derzeit nicht bei den Gerätschaften und melde es dann noch mal...
Ich hatte das Device zwar schon mal gelöscht und neu anlegen lassen, aber ohne den Eventmap Eintrag funktionierte nur das einschalten, ausschalten nicht.

Falls du ein CC2530 oder CC2531 für Zigbee2mqtt brauchst, ich habe noch von beiden einen über. Dann könntest du das auch mal aktiv testen. :)
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

mark79

Zitat von: akr1983 am 22 November 2018, 23:43:51
Ich hab hab aktuell den Verdacht dass eines der angelernten Devices an Koenkks MQTT Bridge das Problem verursacht. Das dort in einer Statusmeldung was komisches drin gewesen ist, was dann wiederrum als state irgendwo "festhängt".

Das könnte auch sein, ich habe auch noch beide Module parallel laufen, könnte sein das die sich in die Quere kommen.
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

rudolfkoenig

Zitataber ohne den Eventmap Eintrag funktionierte nur das einschalten, ausschalten nicht.
Ich habe ein (restriktiveres) eventMap gestern zum template hinzugefuegt, damit der Click auf dem Status-Icon auch zum Toggle fuehrt. Wenn Du das meinst mit "nur einschalten", dann sollte damit das gefixt sein. Hier ist es nochmal im Klartext:attr DEVICE eventMap { dev=>{ON=>'on',OFF=>'off'} }

ZitatBeim Farbwechsel im setList folgende Zeile ergänzen:
Kannst du mir bitte den kompletten Abschnitt, und fuer convertRGBtoR_G_B() Input und gewuenschtes Output beschreiben? Dann wuerde ich es in 99_Utils.pm (oder fhem.pl) aufnehmen. Statt encode_json wuerde ich toJSON testen, dann braucht man kein JSON.pm zu installieren.

Beta-User

Zitat von: rudolfkoenig am 23 November 2018, 09:44:56
Kannst du mir bitte den kompletten Abschnitt, und fuer convertRGBtoR_G_B() Input und gewuenschtes Output beschreiben? Dann wuerde ich es in 99_Utils.pm (oder fhem.pl) aufnehmen.
Anregung: Sachlich ist diese Funktion (ggf. zusammen mit dem eventuell vom Experten verbesserten devStateIcon-code für 255-er Brightness-Angaben von https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele#IKEA-Tradfri-Birne) eventuell auch gut in der Color.pm aufgehoben?

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

akr1983

#146
Zitat von: rudolfkoenig am 23 November 2018, 09:44:56
Kannst du mir bitte den kompletten Abschnitt, und fuer convertRGBtoR_G_B() Input und gewuenschtes Output beschreiben? Dann wuerde ich es in 99_Utils.pm (oder fhem.pl) aufnehmen. Statt encode_json wuerde ich toJSON testen, dann braucht man kein JSON.pm zu installieren.

Aber gerne doch :-) Hab in der myUtils noch zusätzlich das mit dem devStateIcon255() drin aus dem Wiki.


##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.

package main;

use strict;
use warnings;
use POSIX;

sub
myUtils_Initialize($$)
{
  my ($hash) = @_;
}

# Enter you functions below _this_ line.

sub devStateIcon255($) {
my $name = shift(@_);
return ".*:off:toggle" if( ReadingsVal($name,"state","ON") eq "OFF" );
my %dim_values = (
  0 => "dim06%",
  1 => "dim12%",
  2 => "dim18%",
  3 => "dim25%",
  4 => "dim31%",
5 => "dim37%",
6 => "dim43%",
7 => "dim50%",
8 => "dim56%",
9 => "dim62%",
10 => "dim68%",
11 => "dim75%",
12 => "dim81%",
13 => "dim87%",
14 => "dim93%",
);

my $pct = ReadingsVal($name,"brightness","255");
my $s = $dim_values{int($pct/18)};
$s="on" if( $pct > 253 );
return ".*:$s:off";
}

sub convertRGBtoR_G_B($) {
my $rgb = shift(@_);
$rgb =~ m/^(..)(..)(..)/;
my( $r, $g, $b ) = (hex($1)/255.0, hex($2)/255.0, hex($3)/255.0);
my %color_hash = (r => $r, g => $g, b => $b);
my %set_hash = ('transition' => 1, 'color' => \%color_hash);

return \%set_hash;
}

1;

Ralf W.

Hallo,

hier noch ein Beispiel für Philips hue Motion sensor (Bewegung, Helligkeit, Temperatur):

defmod DG_hue MQTT2_DEVICE
attr DG_hue IODev SE_MQTT2_SERVER
attr DG_hue event-min-interval battery:86400,illuminance:3600,temperature:600,temperature_weather:600
attr DG_hue event-on-change-reading battery,illuminance:100,occupancy,temperature:0.15,temperature_weather:0.2
attr DG_hue readingList zigbee2mqtt/DG_hue:.* { json2nameValue($EVENT) }
attr DG_hue room MQTT2_DEVICE
attr DG_hue stateFormat T: temperature_weather B: illuminance L: linkquality
attr DG_hue userReadings temperature_weather { sprintf("%.1f",ReadingsVal("DG_hue","temperature","")+2.5) }


Das userReadings habe ich eingefügt, da der Sensor die Temperatur mit 2,5° weniger ausgibt. Zu dem Thema gibt es genügend Fundstellen im Netz.

MfG
Ralf
http://twitter.com/RWausD
Schon gewusst, dass Haarausfall zu einer Glatze führen kann?

FHEM: NUC7PJYH2, Ubuntu Server 22.04.2 LTS, HMCCU - RaspberryMatic, DE ConBee II, diverse Sensoren und Aktoren.

rudolfkoenig

#148
@Ralf:
sind die event-* Attribute notwendig? Ich will sie nur im Notfall verwenden.

@akr1983:
kannst du bitte noch fuer RGB Input und gewuenschtes Output beschreiben?
Und ich meine devStateIcon255 laesst sich auch etwas kompakter schreiben:sub
devStateIcon255($)
{
  my ($name) = @_;
  return ".*:off:toggle" if(lc(ReadingsVal($name,"state","ON")) eq "off" );
  my $pct = ReadingsVal($name,"brightness","255");
  my $s = $pct > 253 ? "on" : sprintf("dim%02d%%",int((1+int($pct/18))*6.25));
  return ".*:$s:off";
}
Kannst du das bitte testen?


Edit: bugfix, dim% hinzugefuegt.

Ralf W.

Hallo Rudi,

nein, die Event-attribute sind nicht notwendig. Auch stateFormat und userReadings können anders aussehen. Ist alles nur auf meine Bedürfnisse eingestellt.

MfG
Ralf

Gesendet von meinem SM-T585 mit Tapatalk

http://twitter.com/RWausD
Schon gewusst, dass Haarausfall zu einer Glatze führen kann?

FHEM: NUC7PJYH2, Ubuntu Server 22.04.2 LTS, HMCCU - RaspberryMatic, DE ConBee II, diverse Sensoren und Aktoren.