Autor Thema: Anbindung and ebusd mit modul 98_GAEBUS.pm  (Gelesen 25973 mal)

Offline jamesgo

  • Full Member
  • ***
  • Beiträge: 260
Anbindung and ebusd mit modul 98_GAEBUS.pm
« am: 14 September 2015, 10:18:17 »
ich eröffne mal einen Thread rund um das modul 98_GAEBUS.pm um den Thread Heizung mit eBus-Schnittstelle zu entlasten.


Offline mikel279

  • New Member
  • *
  • Beiträge: 25
Antw:Anbindung and ebusd mit modul 98_GAEBUS.pm
« Antwort #1 am: 14 September 2015, 11:06:21 »
Hallo jamesgo,

ich habe doch schon mal ne Frage.

Kannst Du bei den Readings (z.B. r~bai~StorageTemp~d.04_Speicheristtemp.) das "ok" nach dem Messwert weg lassen? Hintergrund ist, ich möchte den Wert (mit °C) in einem dummy anzeigen lassen und wenn ich im stateFormat {sprintf("%.2f °C",ReadingsVal("ebus","WW_Speicher",0))} angebe bekomme ich im FHEM Log eine Fehlermeldung :-( bzw. weißt Du wie ich den Wert selbst splitten kann?

LG Mikel

Offline kawa0815

  • New Member
  • *
  • Beiträge: 32
Antw:Anbindung and ebusd mit modul 98_GAEBUS.pm
« Antwort #2 am: 14 September 2015, 11:20:59 »
Hallo Andy,


Ich habe hier den gleichen Fehler wie Reinhard.

Wenn ich mit:
get r~bai~SDTRT~d.41_Rücklauftemperatur


die Temperatur auslese, klappt das wunderbar.
Versuche ich allerdings dann diese über  "set" als Attribut zu deffinieren, bekomme ich die Fehlermeldung

invalid parameter


kawa

Offline jamesgo

  • Full Member
  • ***
  • Beiträge: 260
Antw:Anbindung and ebusd mit modul 98_GAEBUS.pm
« Antwort #3 am: 14 September 2015, 11:24:24 »
Hallo kawa,

hast du das aktuelle modul vom sourceforge server verwendet?

http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/contrib/98_GAEBUS.pm

Grüße
Andy

Offline kawa0815

  • New Member
  • *
  • Beiträge: 32
Antw:Anbindung and ebusd mit modul 98_GAEBUS.pm
« Antwort #4 am: 14 September 2015, 13:01:05 »
Hallo kawa,

hast du das aktuelle modul vom sourceforge server verwendet?

http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/contrib/98_GAEBUS.pm

Grüße
Andy

Ja, gerade noch einmal versucht -> "invalid parameter "

kawa

Offline Reinhart

  • Hero Member
  • *****
  • Beiträge: 1044
Antw:Anbindung and ebusd mit modul 98_GAEBUS.pm
« Antwort #5 am: 14 September 2015, 14:30:01 »
Hallo jamesgo,

ich habe doch schon mal ne Frage.

Kannst Du bei den Readings (z.B. r~bai~StorageTemp~d.04_Speicheristtemp.) das "ok" nach dem Messwert weg lassen? Hintergrund ist, ich möchte den Wert (mit °C) in einem dummy anzeigen lassen und wenn ich im stateFormat {sprintf("%.2f °C",ReadingsVal("ebus","WW_Speicher",0))} angebe bekomme ich im FHEM Log eine Fehlermeldung :-( bzw. weißt Du wie ich den Wert selbst splitten kann?

LG Mikel

das ist in diesem Fall nicht so einfach. John hat zwar im ebusd diesen Fall vorgesehen, da wir jedoch über GAEBUS diesen Parameter noch nicht setzen können geht das nicht so leicht.

über ebusd kannst du so abfragen:
pi@raspberry2 ~ $ ebusctl r -f StorageTemp
48.50;ok

pi@raspberry2 ~ $ ebusctl r -f StorageTemp tempsensor.0
46.69
in der 2. Variante erfolgt die Rückgabe ohne das "ok".

Über ECMD habe ich das nach Beispiel von pah wie folgt gelöst:
# vorlauftemperatur
get Vorlauf cmd {"r -f StorageTemp tempsensor.0\n"}
get Vorlauf expect "\d+\.\d+\n\n"
get Vorlauf postproc { sprintf("%5.1f C",$_) }

Die beste Lösung wäre, wenn Andy im Attribut bei der Benennung noch ein Leerzeichen erlauben würde, damit man den Typ (wie hier tempsensor.0) dazu schreiben könnte. Oder vielleicht in Klammer oder einem anderen Zeichen. Allerdings ist das einiges an Aufwand um das zu erweitern. Gleichzeitig erhöht sich die Fehlerquote wenn hier ein Blödsinn drinnen steht, der Wert müsste fast aus der csv übernommen werden, da es ohnehin immer der erste ist.

LG
Reinhart
FHEM auf Raspy3 mit Stretch + SSD, mit FS20, Homematic, ESP8266, Sonoff, Electrodragon, eBus, RPi mit COC,NanoCUL, HM-CFG-LAN Adapter, MQTT, ESPEasy Bridge, Alexa + Custom Skills

Offline Reinhart

  • Hero Member
  • *****
  • Beiträge: 1044
Antw:Anbindung and ebusd mit modul 98_GAEBUS.pm
« Antwort #6 am: 14 September 2015, 14:40:36 »
Ja, gerade noch einmal versucht -> "invalid parameter "

kawa

ich habe das ja in der Zwischenzeit es mit dieser neuen Version lösen können.

Checke bitte nochmals ob die csv Files das richtige Format haben.

file --mime-encoding *.csves sollte dann bei allen deinen kopierten (in /opt/fhem/ebusd/, nicht im etc/ebusd!) csv UTF-8 dabei stehen!

Wenn nicht alles löschen und nochmals als sudo kopieren und wieder checken. Eventuell in einem Editor (PSPad) das Format UTF-8 setzen und wieder zurück speichern.

LG
FHEM auf Raspy3 mit Stretch + SSD, mit FS20, Homematic, ESP8266, Sonoff, Electrodragon, eBus, RPi mit COC,NanoCUL, HM-CFG-LAN Adapter, MQTT, ESPEasy Bridge, Alexa + Custom Skills

amunra

  • Gast
Antw:Anbindung and ebusd mit modul 98_GAEBUS.pm
« Antwort #7 am: 14 September 2015, 20:23:05 »
Kannst Du bei den Readings (z.B. r~bai~StorageTemp~d.04_Speicheristtemp.) das "ok" nach dem Messwert weg lassen? Hintergrund ist, ich möchte den Wert (mit °C) in einem dummy anzeigen lassen und wenn ich im stateFormat {sprintf("%.2f °C",ReadingsVal("ebus","WW_Speicher",0))} angebe bekomme ich im FHEM Log eine Fehlermeldung :-( bzw. weißt Du wie ich den Wert selbst splitten kann?

LG Mikel
wenn der Temp-Wert 5 stellig ist, dann kann man das z.B. so realisieren:
{substr(ReadingsVal("ebus","WW_Speicher",0),0,5). "°C"}sonst geht es auch noch per "split" etc. - viele Wege führen nach...

Offline mikel279

  • New Member
  • *
  • Beiträge: 25
Antw:Anbindung and ebusd mit modul 98_GAEBUS.pm
« Antwort #8 am: 14 September 2015, 21:58:55 »
Hallo zusammen,

@Reinhart: Danke für Deine Antwort, den Weg über ECMD kannte ich - aber ich wollte es doch über GAEBUS lösen  ;)

@amunra: Richtig, viele Wege führen nach ... - daher habe ich, für mich, glaube ich den richtigen gefunden

Ich habe, wie geschrieben, mir einen dummy zum Anzeigen der Werte eingerichtet. Per setreading schreibe ich das reading "VorlaufTemp" mit folgender notify Def "ebus:VorlaufTemp.* setreading VorlaufTemp VorlaufTemp $EVTPART1". Damit hat das dummy ein reading "VorlaufTemp". Beim schreiben dieses reading wird der state des dummy gesetzt und für diesen habe ich im dummy den stateFormat "{sprintf("%.2f °C",ReadingsVal("VorlaufTemp","VorlaufTemp",0))}" definiert. Damit hat state das korrekte Format zur Anzeige und ich habe ein reading mit dem ich einen plot zeichnen kann.  :)

@Andy / Reinhart: Leider habe ich das gleiche Problem wie kawa0815. Habe das neuste modul von sourceforge gezogen und dank der Hinweise von Reinhart auch geprüft, ob die csv UTF-8 kodiert sind. Nach einen restart von FHEM werden die Werte mit Umlauten auch korrekt angezeigt und auch der get funktioniert einwandfrei. Allerdings bekommen auch ich beim set ein  "invalid parameter" ???

LG Mikel

Offline jamesgo

  • Full Member
  • ***
  • Beiträge: 260
Antw:Anbindung and ebusd mit modul 98_GAEBUS.pm
« Antwort #9 am: 15 September 2015, 04:51:01 »
Hallo,
an dem UTF-8 Problem arbeite ich und werde hoffentlich bald eine Lösung bereitstellen können.

Grüße
Andy

Offline nightstorm99

  • Jr. Member
  • **
  • Beiträge: 95
Antw:Anbindung and ebusd mit modul 98_GAEBUS.pm
« Antwort #10 am: 15 September 2015, 07:47:00 »
Hallo Andy,

ließt du an deiner Heizung die Wochenprogramme aus und wenn ja,
wie stellst du dieses optisch dar?
Finde irgendwie nichts, wie man das machen kann.

Danke und Gruß
Denny

Offline nightstorm99

  • Jr. Member
  • **
  • Beiträge: 95
Antw:Anbindung and ebusd mit modul 98_GAEBUS.pm
« Antwort #11 am: 15 September 2015, 07:49:21 »
Hallo Andy,

ließt du an deiner Heizung die Wochenprogramme aus und wenn ja,
wie stellst du dieses optisch dar?
Finde irgendwie nichts, wie man das machen kann.

Nachtrag:
Die Idee von Reinhart würde ich auch gut finden. Mit dem auslesen des bestimmten Wert.
Wenn man als Attribut "|1" zum Beispeil mit anfügt, würde er nur den ersten Teil des String ausgeben.

Danke und Gruß
Denny

Offline jamesgo

  • Full Member
  • ***
  • Beiträge: 260
Antw:Anbindung and ebusd mit modul 98_GAEBUS.pm
« Antwort #12 am: 15 September 2015, 08:10:04 »
Hallo Denny,
da habe ich nicht wirklich was sinnvolles gefunden.
Für die Grundeinstellung umgehe ich Fhem vollständigt.
Um einen Heizkreis ausserhalb des Zeitintervalls einzuschalten werde ich den "Party Modus" verwenden.

Anbei meine timers.txt (das sind die Zeitprogramme) und doTimers.pl.

doTimers.pl vergleicht die aktuellen Einstellungen mit timers.txt und mit der Option "-s" setzt es die neuen Intervalle.

Für die Zirkulationspumpe würde es doch reichen wischen einem Normalprogramm

05:00;08:00;18:00;21:30;-:-;-:-;selected
und der Ausnahme
05:00;21:30;-:-;-:-;-:-;-:-;selected
umzuschalten.

Grüße
Andy

Offline jamesgo

  • Full Member
  • ***
  • Beiträge: 260
Antw:Anbindung and ebusd mit modul 98_GAEBUS.pm
« Antwort #13 am: 15 September 2015, 10:35:12 »
@Reinhart, kawa0815,

Könnt ihr bitte mal die aktuelle Version von Sourceforge testen.
Damit sollte das Umlauteproblem gelöst sein.

Danke
Andy

Offline jamesgo

  • Full Member
  • ***
  • Beiträge: 260
Antw:Anbindung and ebusd mit modul 98_GAEBUS.pm
« Antwort #14 am: 15 September 2015, 15:18:20 »
Habe den Vorschlag von Reinhart implementiert:

Zitat
Die beste Lösung wäre, wenn Andy im Attribut bei der Benennung noch ein Leerzeichen erlauben würde, damit man den Typ (wie hier tempsensor.0) dazu schreiben könnte.

« Letzte Änderung: 15 September 2015, 15:22:02 von jamesgo »

 

decade-submarginal