ha-bridge durch FHEM Connector ersetzen [erledigt]

Begonnen von canis, 24 Januar 2023, 13:02:58

Vorheriges Thema - Nächstes Thema

canis

ha-bridge durch FHEM Connector ersetzen
Hi, ich möchte die in die Jahre gekommene ha-bridge durch den FHEM Connector für Amazon Alexa vollständig ersetzen.
Dazu habe ich mal eine Testlampe definiert, die mit deinem Dummy und 2 Notifies auskommt.
Zur Steuerung der Lampe verwende ich einen Arilux AL-LC06 oder einen H801 mit Tasmota,
SetOption68 1, um die Kanäle einzeln steuern zu können.
Unten folgen die Definitionen.
Was mir nicht gefällt, ist das devStateIcon des Dummies (0:general_aus@red 100:general_an@green off:general_aus@red on:general_an@green .*:general_an@orange).
Damit kann ich über Alexa und auch von der Weboberfläche die Lampe korrekt schalten kann, mußte ich in dem Notify eine Anweisung ({fhem "set Testlampe:state ".ReadingsNum("Arilux157","CHANNEL1",0)}) integrieren, um den eingestellten Wert zu behalten.

Frage ist, geht das auch eleganter? Ich muß ca. 30 Lampen anpassen

Code: (Fehler beseitigt 24.01.2023 22:00)

#
define Arilux157 MQTT_DEVICE
attr Arilux157 IODev MQTTSRV
attr Arilux157 comment http://192.168.211.157
attr Arilux157 event-on-change-reading .*
attr Arilux157 group Testlampe
attr Arilux157 icon light_control
attr Arilux157 publishSet_CHANNEL1 Garage/Testlampe/cmnd/CHANNEL1
attr Arilux157 publishSet_CW Garage/Testlampe/cmnd/POWER1
attr Arilux157 room test
attr Arilux157 stateFormat {sprintf("LED: %.1f %% <br>POWER1 %s",  ReadingsVal($name,"Channel1",0), ReadingsVal($name,"POWER1","") )}
attr Arilux157 subscribeReading_Power Garage/Testlampe/stat/POWER1
attr Arilux157 subscribeReading_Status Garage/Testlampe/tele/STATE
attr Arilux157 subscribeReading_state Garage/Testlampe/stat/RESULT
attr Arilux157 subscribeReading_tele Garage/Testlampe/tele/LWT
#
define Arilux157_expandJSON expandJSON Arilux157.*:.*:.*
attr Arilux157_expandJSON addStateEvent 1
#
define Testlampe dummy
attr Testlampe alexaName Testlampe
attr Testlampe devStateIcon 0:general_aus@red 100:general_an@green off:general_aus@red on:general_an@green .*:general_an@orange
attr Testlampe event-on-change-reading .*
attr Testlampe eventMap on:100 off:0
attr Testlampe genericDeviceType light
attr Testlampe group Testlampe
attr Testlampe homebridgeMapping On=state,valueOn=ON,valueOff=OFF Brightness=brightness::brightness,minValue=0,maxValue=100,max=255,factor=2.55
attr Testlampe icon message_light_intensity
attr Testlampe room test
attr Testlampe setList state:slider,0,5,100 on off
attr Testlampe userReadings brightness {my $reading = ReadingsNum($NAME,"state","");; $reading =~ s/^brightness.//;; return $reading;;}
attr Testlampe webCmd state
#
define n_TestlampeAnAus notify Testlampe.on|Testlampe.off set Arilux157 CW $EVENT
attr n_TestlampeAnAus group Testlampe
attr n_TestlampeAnAus room test
attr n_TestlampeAnAus setList on off
#
define n_TestlampeDim notify Testlampe:brightness:.* {fhem "set Arilux157 CHANNEL1 ".ReadingsVal("Testlampe","brightness",0)}
attr n_TestlampeDim group Testlampe
attr n_TestlampeDim room test
attr n_TestlampeDim setList 0-100
#

sash.sc

Stelle doch  auf mqtt2 um. Dann wird alles automatisch angelegt und du kannst die templates anwenden.

Dürfte um einiges einfacher sein, wie mit einem extrem mqtt Server  zu arbeiten
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

canis

MQTT2 ist nicht von Vorteil (im Gegentum), wenn der Broker auf einem anderen system läuft und noch andere Clients verwaltet.

canis

Das funktioniert jetzt zufriedenstellend, lediglich der Slider autualsiert sich nicht, wenn die Lampe per Alexa gedimmt wird.
Geht nun "in produktion"