Komplett überarbeitetes ECMD und ECMDDevice vom 16.3.2014

Begonnen von kpwg, 20 März 2014, 20:40:17

Vorheriges Thema - Nächstes Thema

kpwg

Guten Abend,

mal was Anderes zwischendurch- die angepasste lcd.classdef aus dem Wiki:
# Umsetzung der ECMD Befehle
set write params line col text 
set write cmd {"lcd goto %line %col\n\000lcd write %text\n"}
set write expect "OK\n"
set write postproc {s/([OK\n|;]*)/success/; "$_" eq "success" ? "ok" : "error";}
set clear params col
set clear cmd {"lcd clear %col\n"}
set clear expect "OK\n"
set clear postproc {s/([OK\n|;]*)/success/; "$_" eq "success" ? "ok" : "error";}
set clear_all cmd {"lcd clear\n"}
set clear_all expect "OK\n"
set clear_all postproc {s/([OK\n|;]*)/success/; "$_" eq "success" ? "ok" : "error";}
set lcd_bl params state
set lcd_bl cmd {"lcd backlight %state\n"}
set lcd_bl expect "OK\n"
set lcd_bl postproc {s/([OK\n|;]*)/success/; "$_" eq "success" ? "ok" : "error";}



Viele Grüße, Ricardo

ThomasW

Hallo Boris, Hallo Ricardo,

möchte die kompl. Log's für classdef Einträge Vers02 und Vers03 nachreichen, da größer, im Anhang.

Den NetIo kann ich erst in 2-3 Wochen mit Polling programmieren.

Herzlichen Dank für die gute Unterstützung.

Mit den besten Grüßen
Thomas
FHEM auf RPi Rev.2 mit COC, FS20-Module, LAN-Steckdosen, JeeLink - 4x LaCrosse-Sensoren

Dr. Boris Neubert

Zitat von: ext23 am 02 Mai 2014, 11:50:54

2014.05.02 11:47:37 5: ECMDDevice: Analyze command >{"1w convert\n"}<
2014.05.02 11:47:37 5: AVRNETIO2: sending command "1w convert\n"
2014.05.02 11:47:37 5: AVRNETIO2: write "1w convert\n"
2014.05.02 11:47:37 5: SW: 317720636f6e766572740a
2014.05.02 11:47:37 4: ECMDDevice ba_Temp_Steuereinheit messen
2014.05.02 11:47:37 5: ECMDDevice: Analyze command >{"io get pin 0\n"}<
2014.05.02 11:47:37 5: AVRNETIO2: sending command "io get pin 0\n"
2014.05.02 11:47:37 5: AVRNETIO2: write "io get pin 0\n", expect .*
2014.05.02 11:47:37 5: SW: 696f206765742070696e20300a
2014.05.02 11:47:38 5: AVRNETIO2: read "OK\n"
2014.05.02 11:47:38 5: AVRNETIO2: received answer "OK\n"
2014.05.02 11:47:38 4: ECMDDevice ba_Wassertonne status OK
2014.05.02 11:47:38 3: Timer_ba_Wassertonne: status OK


Da oben sieht man es knallen! Spendiere doch bitte mal dem messen-Befehl ein Expect, damit auf das OK vom "1w convert" gewartet wird.

Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Dr. Boris Neubert

Zitat von: ThomasW am 03 Mai 2014, 12:10:51
möchte die kompl. Log's für classdef Einträge Vers02 und Vers03 nachreichen, da größer, im Anhang.

Das Postproc liefert 1 zurück, weil die Ersetzung erfolgreich war. Probiere mal bitte

{ s/\n//g; $_ }

aus.

Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

ThomasW

Hallo Boris,

herzlichen Dank für die Hilfe, jetzt funktioniert es.

Beste Grüße
Thomas
FHEM auf RPi Rev.2 mit COC, FS20-Module, LAN-Steckdosen, JeeLink - 4x LaCrosse-Sensoren

Heinz

Hallo,
könnt ihr bitte die funktionierende classdeff posten.

Danke

ThomasW

Hallo Heinz,

die bei mir funktionierende classdef für Temperaturen.

# Uebergabeparameter Onewire Geräte ID
params devID
# Umsetzung in ECMD Befehle 1w get = Tempwert lesen
get temp cmd {"1w get %devID\n"}
get temp expect "\d+.\d\n"
get temp postproc { s/\n//g; $_ }

siehe auch Antwort 124 in diesem Trade.
Version1 = falsch
Version2 = fehlerhaft (letzte Zeile geändert)

Gruß
Thomas
FHEM auf RPi Rev.2 mit COC, FS20-Module, LAN-Steckdosen, JeeLink - 4x LaCrosse-Sensoren

Heinz

Hallo,
danke, aber irgendwie stehe ich auf dem Schlauch.
Wie stößt du das messen an?

Gruß
Heinz

Heinz

Hallo,
kleiner Nachtrag. Habe jetzt folgendes probiert, und es scheint zu laufen.

# Uebergabeparameter Onewire Geräte ID
params devID
# Umsetzung in ECMD Befehle 1w get = Tempwert lesen
set messen cmd {"1w convert\n"}
set messen expect".*"
get temp cmd {"1w get %devID\n"}
get temp expect "\d+.\d\n"
get temp postproc { s/\n//g; $_ }


Somit läuft die Poolheizung und alles ist gut.

Danke

Gruß Heinz

Dr. Boris Neubert

Hallo,

laufen jetzt die Klassendefinitionen bei allen, die sich in diesem Thread zu Wort gemeldet haben?

Ich würde dann nämlich diesen Thread in Kürze schließen.

Könnten diejenigen, die von dem Support in diesem Thread profitiert haben, bitte die Seite(n) im FHEM-Wiki auf den Stand bringen? Das betrifft vor allem die überarbeiteten Klassendefinitionen.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

kpwg

#145
Zitat von: Dr. Boris Neubert am 05 Mai 2014, 10:04:37
laufen jetzt die Klassendefinitionen bei allen, die sich in diesem Thread zu Wort gemeldet haben?
Ich würde dann nämlich diesen Thread in Kürze schließen.
Ich habe jetzt folgende funktionierend getestete classdef's vorzuweisen:

- adc (A/D-Wandler mit Umrechnung nach dezimal; ohne weitere Bearbeitung)
- 1wire (DS18x20-Sensoren mit aktiviertem Polling in Ethersex)
- ltc1257 (der 12-Bit-D/A-Wandler in dem Umfang wie im Wiki)
- dht22 (der günstige und sehr genaue Temp./Feuchte-Sensor mit readings für Temperatur und Feuchte)
- control6 (damit kann ich vorher in ethersex definierte contol6-Skripte bedienen)
- lcd (der im Wiki gezeigte Code; nur entsprechend angepasst)
- rfm12_it (für Intertechno-Aktoren zum Schalten)
- rfm12_2272 (für die preiswerten Baumarkt-Steckdosen; leider noch ohne Dip-Schalter-Berechnung)

Zitat von: Dr. Boris Neubert am 05 Mai 2014, 10:04:37
Könnten diejenigen, die von dem Support in diesem Thread profitiert haben, bitte die Seite(n) im FHEM-Wiki auf den Stand bringen? Das betrifft vor allem die überarbeiteten Klassendefinitionen.
Ich habe zweimal erfolglos versucht, mich im Wiki anzumelden. Keine Antwort. Ich würde aber gerne zuarbeiten- auch mit eigenen Bildern.

Edit: Gegenfrage! Gibt es denn noch Wünsche, was man wie einbinden könnte? An was wurde noch nicht gedacht? Wie war das genau mit "watch IO changes and react"?

Meine Ziele bei den classdef's:
adc verfeinern mit Umrechnung und reading je Kanal in einem device; ltc1257 mit Umrechnung; rfm12_2272 mit Umrechnung der Dip-Schalter

Viele Grüße, Ricardo

ext23

Danke Boris, also aus meiner Sicht geht das in Ordnung. Ich kämpfe noch mit ein paar Sachen aber das bekomme ich auch noch hin.

Kannste stilllegen den Thread.

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Zrrronggg!

ZitatIch habe zweimal erfolglos versucht, mich im Wiki anzumelden. Keine Antwort. Ich würde aber gerne zuarbeiten- auch mit eigenen Bildern.


bitte mal an soulman@fhemwiki.de mailen.

Ich hab eben noch mal nachgesehen und kann nichts von dir finden.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

kpwg

Zitat von: ext23 am 05 Mai 2014, 21:23:09
Danke Boris, also aus meiner Sicht geht das in Ordnung. Ich kämpfe noch mit ein paar Sachen aber das bekomme ich auch noch hin.

Kannste stilllegen den Thread.

Sehe ich genauso. Den Rest schaffen wir auch noch. btw: Kann wer die Relaiskarte testen? Ich könnte das auf Wunsch anpassen, aber nicht praktisch testen.

Habe meine Wiki-Anmeldung erneut gesendet. Versuch #3 sollte nun klappen.

Ich sehe da zwei Etappen:
1. den vorhandenen Beitrag auf die neue Syntax ohne sonstige weitere Änderungen anpassen
2. einen neuen Beitrag "Ethersex - eigene Plattformen" gestalten, der die beiden in den letzten 5 Monaten hier entstandenen Plattformen umschreibt. Mit Bildern, Screenshots aus Ethersex, Umschreibung 1w-Polling (mit den Tücken  :P ), DHT22 und künftig Multi-DHT, Beispielcode fürs Display, Erstellung von readings usw.

Viele Grüße, Ricardo

Dr. Boris Neubert

Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!