Mit UserReadings Temperatur von aderem Device eintragen / abrufen

Begonnen von TimoWer, 13 Dezember 2019, 00:52:31

Vorheriges Thema - Nächstes Thema

TimoWer

Hallo zusammen! Ich beschäftige mich schon einige Jahre mit FHEM und derzeit läuft alles soweit ganz gut!

Ich nutze FHEM überwiegend dazu mein KNX anzusteuern um Beispielsweise die Heizung zu regeln.

Nun zu meinem Problem:

Ich habe die Tastsensoren von GIRA im Einsatz (Gira KNX Tastsensor 3 Plus 3fach). Über FHEM habe ich unter anderem ein Device für den aktiven Sollwert, ein Device für die Betriebsmodusumschaltung und ein Device für die aktive Sollwertverschiebung hinterlegt...

Ich habe nun das Problem das der Slider im Device für die Sollwertverschiebung bei der Betriebsmodusumschaltung sich nicht ändert - Das Device für den aktiven Sollwert ändert sich allerdings (Sowohl beim Slider als auch bei der Betriebsmodusumschaltung).

Meine Idee ist nun im Slider Device ein userReadings für den aktiven Sollwert zu hinterlegen. Allerdings schaffe ich es nicht das Attribut richtig zu setzten und der Wert im Slider ändert sich nicht.

Mein userReadings sieht wie folgt aus:

Wohnzimmer_Heizung_Temp_Soll:state ReadingsVal ("Wohnzimmer_Heizung_Sollwert_aktiver_Betriebsmodus","state")

"Wohnzimmer_Heizung_Temp_Soll" Ist der letzte Sollwert bzw. der aktive
"Wohnzimmer_Heizung_Sollwert_aktiver_Betriebsmodus" Ist der Slider für die Änderung des Sollwertes


Ich weiß echt nicht weiter und bin für jede Hilfe dankbar da ich mir hierzu schon einige Tage den Kopf zerbreche...

Prof. Dr. Peter Henning

Man sollte nicht innerhalb der FHEM-Skriptsprache Perl-Code ohne geschweifte Klammern verwenden. Steht in der Anfänger-Doku, und zwar auch schon seit ein paar Jahren.

LG

pah

TimoWer

Guten Morgen Herr Prof. Dr. Peter Henning! Danke für die Antwort  :)

Erhlich gesagt hatte ich es mit den geschweiften Klammern schon versucht! Allerdings hat sich damit auch nichts getan.

Wohnzimmer_Heizung_Temp_Soll:state  { ReadingsVal ("Wohnzimmer_Heizung_Sollwert_aktiver_Betriebsmodus","state") }

Aber Sie haben recht ich werde mir nochmals das Wiki und die Anfängerdoku anschauen. 

Eine fröhliche Weihnachtszeit!

Beta-User

1. Verschiebe den Thread zu den Anfängerfragen. (Ja, kannst du selbst, und spätestens nachdem du die im Anfängerbereich angepinnten Beiträge nochmal gelesen hast, wirst du auch wissen, wie).
2. Steht in o.g. Threads auch, dass man ein list der beteiligten Geräte liefern soll - ich sehe nichts...
3. Triggern userReadings nur auf Events an dem Gerät, zu dem sie gehören. Vermutlich gibt es den nicht.
4. Scheint mir die ganze Konstruktion mit mehreren Geräten suboptimal zu sein, aber dazu ggf. mehr nach (2.)
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

TimoWer

1. Verschieben ist erledigt. Die dort angepinnten Beiträge werde ich auch nochmal durchstöbern unabhägig von der "Verschiebefunktion"  :)
2. Ergibt sich ja wenn ich Nr. 1 - Lese hoffe ich zumindest
3. der Trigger "State" gibt es in beiden Geräten bzw. das Reading - Ich habe es aus der Commandref so verstanden wenn sich der Trigger vom zu lesenenen Gerät ändert wird die angegebene ReadingsVal, in diesem Fall "State" an das Zieldevice übergeben. Ich muss gestehen das Beispiel in der Commandref war nicht wirklich hilfreich (Jedenfalls für mein Beispiel).
4. Leider habe ich es bisher nur so umsetzten können das die Geräte für mich funktionieren - Bis auf das von mir geschilderte Problem natürlich sonst hätte ich im Forum auch nicht gesucht und anschließend gefragt...

Aber zusammenfassend wird es wohl gut sein den Anfängerbereich zu durchforsten... Andererseits, hatte ich mit der "Thread" Methode vor einigen Jahren gute Erfahrung gemacht da mir ein Forumsmitglied ein modifiziertes Modul zur Verfügung gestellt hat welches ich nicht durch SuFu oder ähnliches gefunden hätte...

Fröhliche Weihnachtszeit  :)

Otto123

Hi,

mach mal bitte den Event Monitor auf und trage als Filter dies ein:
Wohnzimmer_Heizung_Temp_Soll:state.*
falls da nichts passiert versuche es mal mit
Wohnzimmer_Heizung_Temp_Soll.*

Und spendiere uns doch bitte ein list Wohnzimmer_Heizung_Temp_Soll

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TimoWer

Zitat von: Otto123 am 13 Dezember 2019, 13:52:36
Hi,

mach mal bitte den Event Monitor auf und trage als Filter dies ein:
Wohnzimmer_Heizung_Temp_Soll:state.*
falls da nichts passiert versuche es mal mit
Wohnzimmer_Heizung_Temp_Soll.*

Und spendiere uns doch bitte ein list Wohnzimmer_Heizung_Temp_Soll

Gruß Otto

Das werde ich mal testen morgen danke dir!

DeeSPe

Zitat von: TimoWer am 13 Dezember 2019, 09:53:59
Wohnzimmer_Heizung_Temp_Soll:state  { ReadingsVal ("Wohnzimmer_Heizung_Sollwert_aktiver_Betriebsmodus","state") }


  • Bei einem userReading mit Trigger muss immer abschließend .* dahinter.
  • ReadingsVal benötigt 3 Parameter.

So wäre es (als userReading) richtig:

Wohnzimmer_Heizung_Temp_Soll:state.*  { ReadingsVal ("Wohnzimmer_Heizung_Sollwert_aktiver_Betriebsmodus","state","") }

Aber bitte beachte:
Zitat von: Beta-User am 13 Dezember 2019, 10:11:21
3. Triggern userReadings nur auf Events an dem Gerät, zu dem sie gehören. Vermutlich gibt es den nicht.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe