ECMD mit Readfunktion

Begonnen von ulli, 23 Juli 2013, 18:31:05

Vorheriges Thema - Nächstes Thema

Dr. Boris Neubert

Hallo Ulli,

Zitat von: ulli schrieb am Di, 20 August 2013 18:52Ich habe die Files nochmal gecleaned und angehängt.

ich mußte die Ermittlung von RAM und Version auskommentieren, weil mein Gerät diese Befehle nicht kennt. Da ECMD ja (trotz des Namens) ein generisches Modul für alle nach dem Frage-Antwort-Prinzip arbeitenden Geräte ist, sollten wir keine Annahmen über vorhandene Befehle treffen.

Müßte nicht noch die Dokumentation ergänzt werden?

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

ulli

Die Ram- und Versionsabfrage habe ich doch in den letzten Files auskommentiert.
Ist es im SVN? Würde dann ein update machen und nochmal testen ob alles gut gegangen ist...

Dr. Boris Neubert


Die Dateien im Beitrag vom 20. August haben tatsächlich die Abfragen auskommentiert. Was ich da wohl heruntergeladen habe???

Kannst Du bitte noch die Dokumentation für recv ergänzen? Danke.

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

ulli


Dr. Boris Neubert

Zitat von: ulli schrieb am Mo, 26 August 2013 20:35wie und wo mach ich das?

Am Ende der Dateien (ECMD, ECMDDevice) steht der HTML-Kode für die commandref. Dort einfach die Erweiterungen ergänzen.

Aus dem Verzeichnis fhem heraus dann contrib/commandref_join.pl aufrufen, auf unbalancierte Tags achten, und das Ergebnis in docs/commandref.html zur Korrektur lesen.

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

Dr. Boris Neubert

Hallo Ulli,

ich würde das erweiterte Modul gerne einchecken. Wenn Du mir die Änderungen in einem Post zusammenfaßt, ergänze ich die Doku auch selbst.

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

macmattes

Hallo

mal ne dumme Frage.
Wie kann ich denn meine avr-netios dazu bewegen mir Portänderungen , ir-befehle etc. selbstständig übers netzwerk zukommen zu lassen?
Läuft dass über ein Control6 script? Versteh dass Prinzip nicht so richtig.
Bisher setzte ich eine HTTPlog meldung auf einen Fhem-Dummy ab um promte Änderungen gemeldet zu bekommen und alle paar minuten eine Rundfrage über die Stati der einzelnen ports und Devices, was Fhem doch schon gewaltig ausbremst.
Such schon seit ewigkeiten nach einer Lösung, die es im CUNO schon gibt.

justme1968

ich würde die version mit recv funktionalität gerne für meine ultraschall füllstandsmessung verwenden. wie bekommen wir diese version eingecheckt?

gruss
  andre

ps: falls jemand ähnliches vorhar: mein sensor ist ein per usb angebundener arduino nano der über recht viele messungen mittelt und dann mit temperatur kompensation die entfernung berechnet. das liefert auch mit einem sr04 recht stabile ergebnisse. nebenbei wird noch die vcc gemessen weil es sehr wichtig ist sicherzustellen das die versorgungsspannung hoch genug ist. ein aktiver usb hub direkt in arduino nähe ist zwingend nötig. 5m usb kabel reichen schon um die spannung so weit abfallen zu lassen das der us sensor nicht mehr richtig arbeitet.

ich bin mir noch nicht sicher ob ich die volumen berechnung auch auf dem sketch oder in fhem machen soll.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Dr. Boris Neubert

Zitat von: justme1968 schrieb am Mo, 09 September 2013 14:18ich würde die version mit recv funktionalität gerne für meine ultraschall füllstandsmessung verwenden. wie bekommen wir diese version eingecheckt?

Indem jemand die Doku ergänzt oder mir sagt, was ich ergänzen soll.

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

ulli

Ich bin gerade noch im Urlaub. .. ich helfe euch Ende der Woche ;)

ulli

Zitat von: ulli schrieb am Sa, 17 August 2013 21:44hallo zusammen,

sorry für die späte Antwort.
Aber im folgenden noch einmal eine kurze Beschreibung meiner Read Erweiterung.
Das Define bleibt wie im Wiki beschrieben.
  z.B. define HomeControl ECMD serial /dev/ttyUSB0@57600
Die Classdefs ebenfalls
  z.B. attr HomeControl classdefs RFM12=./config/rfm.classdef

Neu ist ein Attributm, welches eine Totzeit verhindert falls das am USB hängende Gerät bei Write Befehlen keine Antwort zurückmeldet.
  --> attr HomeControl noWriteFeedback 1

Die Device Definition bleiben ebenfalls gleich.
   z.B. define WZ_RFM_Remote_A ECMDDevice RFM12 1 10010 A

Neu ist die Möglichkeit in der classdef Datei Kommandos zu definieren, welche ohne einen Trigger von fhem eingelesen werden können und weiter verarbeitet werden.
   recv on cmd {"rfm %Protocol %HouseCode %Device 1"}

d.h. wenn das am USB hängende Gerät folgendes Kommando versendet "rfm 1 10010 A 1" wird dieses Rückwerts über einen "Dispatch" aufgelöst (in unserem Beispiel zu "WZ_RFM_Remote_A").

Wichtig dabei ist in der Datei "67_ECMDDevice.pm" die Variable "$MatchRegExString" auf das zu empfangene Kommando (als RegEx) abzugleichen.

Zum Verständnis, ich verwende diese Erweiterung um IR Kommandos oder Funk Kommandos in fhem verarbeiten zu können.

Ich hoffe das hilft euch weiter!

Hier ist aber alles beschrieben!

ulli


Hallo macmattes, justme1968,

nur um Missverständnisse zu vermeiden, eine Frage:
Wie sieht denn das von eurem AVR versendete Kommando, welches Ihr verarbeiten wollt aus?
Also die Syntax inkl. Beispiel?

Das Kommando wird zu einem beliebigen Zeitpunkt von eurem AVR versendet, also kein Query, richtig?

Poste mal deine bestehenden ECMD Zeilen und die classdef Datei.

justme1968

ja. die idee ist das der arduino selbständig die messwerte sendet fhem aber z.b. die temperatur und das sendeintervall per set ändern kann. was meinst du für missverständnisse?

die fhem konfiguration und die classef zeilen kann ich dir zeigen sobald ich etwas habe das halbwegs funktioniert.

aus irgendeinem grund hängt sich mein mac komplett auf wenn ich ein paar zeilen mit dem ECMDDevice lese. ECMD raw geht noch ohne probleme. per terminal programm geht es auch. und alle anderen USB devices (1-2 panstamps und 1 jeelink) laufen problemlos mit fhem. ich bin noch etwas ratlos.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

macmattes

hallo

auf meinen avrnetio läuft ethersex und ich übertrage die Eingänge mit httplog auf je einen Dummy je Eingang
Auszug aus der Control6 Datei
>>>>>>
#include "protocols/httplog/httplog.h"

ON PIN_FALLING(Eingang0) DO
   httplog("cmd=set+avrnetio07_Eingang0+on");
END
<<<<<<

von Fhem aus steuer ich die Ausgänge am  AVR mit Namedpins
Auszug aus der classdefs
>>>>>>>
params name

#set named pin on########
set on cmd {"pin set %name on"}
<<<<<<<

wenn ich es richtig verstanden habe dann baut ECMD im Fhem jeweils eine telnet verbindung auf, und setzt dort die befehle ab und wartet auf die Logausgabe.
hoffe ab hier versteh ich es dann richtig, read liest auf der Telnetsession mit und reagiert dann entsprechend wenn definierte werte reinkommen?
denke so läufts ja auch beim CUNO  , da kommen antworten wie T...... und I.........  und und und

wäre ja schon logisch wenn mein Ethersex dass auch machen würden, also Pinänderungen als P...... oder die Daten vom IR Sensor als I....... oder in bestimmten abständen die werte der gefundenen Ds1820 , oder DHT22. oder oder oder
wenn meine denke so richtig ist, dann stellt sich für mich nun die Frage, ob dass mit Control6 zu machen ist oder wie sonst?
dann würden die Dummys wegfallen und man müsste die nicht in jedem Ethersex fix hinterlegen.

mit ein bisschen pinänderungen müsste CULFW vom Cuno doch eigentlich auch auf einem avrnetio von pollin laufen, wenn man den 1284p benutzt,  nur sind dann eben nicht die Eingänge-Ausgänge oder weitere Module so einfach zu setzen wie beim UR-Ethersex, wenn dass überhaupt geht.

mit Control6 tu ich mich noch sehr schwer, weil im Verhältnis zu den Möglichkeiten zu wenig Dokus existieren.

macmattes

hallo
könnte jemand antworten und meine Gedankengänge kurz bestätigen oder widerrufen.
So absolut ohne wink mit dem Zaunpfahl komm ich nicht weiter. Danke.