Hilfe bei Froggit Sensoren - https://github.com/adilosa/weathermon

Begonnen von drobskind, 11 Juni 2017, 17:56:19

Vorheriges Thema - Nächstes Thema

drobskind

Hallo,

ich habe nach ewiger Suche ein github Projekt gefunden dass scheinbar mit meinen Funk-Temperatursensoren kompatibel sein soll. (F007-TH, Froggit Sensoren) :)

Leider ist die Dokumentation vom Ersteller sehr dürftig und auf die Frage eines anderen Users zur Installationsanleitung gab es keine Reaktion. Somit habe ich mich jetzt einfach mal daran versucht, bin mit meinem minimalen Linux Kenntnissen nun aber am Ende.  :-\
wie weit bin ich gekommen:
- clone von github
- sudo make (mehrfach auf Fehler gelaufen da noch das ein oder andere fehlte, pytz, flask, flask-SQLAlchemy, flask-bootstrap)
nun ist make durchgelaufen.
im Quellcode sehe ich mehrfach eine "weather.db" die auf meinem System aber nicht existiert. Ich kann leider auch nicht erkennen ob diese vom Programm zur Laufzeit angelegt wird.
Ich bin auch überfragt ob ich nun "python weather.py" ausführen soll oder "./weathermon" beides bringt mich nicht weiter.
Flask scheint ja ein Webserver zu sein, der default auf Port 5000 läuft. Läuft bei mir aber scheinbar auch nicht.
:'(

Ist hier vielleicht ein Linux Profi anwesend der mir dabei helfen kann das ding auf meinem Raspi ans laufen zu bekommen.

Eventuell hilft es den ein oder anderen. Super wäre es, wenn wir mit der Hilfe die Temperatursensoren in FHEM einbinden könnten.

Gruß
drobskind

Wernieman

Kann Dir nicht Helfen, da ich Dir Hardware nicht haben.

Aber laut makefile solltest Du in dem Ordner, wo Du make erstellst hast, eine Datei namens "weathermon" haben. Ansonsten mal Systemweit suchen:
find / -name weathermon

Genau diese Datei müsste Ausführbar sein und direkt gestartet werden.

Allerdings ist die letzte Änderung in dem projekt das Readme und davor sind sie alle mindestens 2 Jahre alt. Wenn Du den Author nicht erreichst, befürchte ich, das dieses Projekt "tot" ist ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

drobskind

#2
Hallo Wernieman,

danke für deine Antwort.
ich habe git clone im Verzeichnis /home/pi ausgeführt und dort wurde auch ein Verzeichnis weathermon angelegt.
In diesem liegen dann unter anderem das Makefile.
Nach dem ausführen von sudo make (ohne sonstige Parameter) wurde auch eine Datei weathermon angelegt, die sich per sudo ./weathermon anscheinen starten lässt. Jedenfalls ist der Eingabecursor anschließend weg.

Mit dem Befehl "ps axg | grep weathermon" bekomme ich folgende Rückmeldung.
12120 pts/1    S+     0:00 sudo ./weathermon
12127 pts/1    Sl+    0:00 ./weathermon
12132 pts/0    S+     0:00 grep --color=auto weathermon



Mit sudo find -name *weather* (ausgeführt in /) finde ich nur den Ordner und die Dateien in /home/pi/weathermon

Nur sehe ich leider keinerlei Ausgaben, Fehlermeldungen, Logfiles oder die im Quellcode genannte weather.db Datenbank Datei.

Kannst du anhand des Quellcodes Schlüsse darauf ziehen, ob sich die Datenbank selber generieren müsste?
Ich habe leider keine großen Hinweise gefunden.
Im Quellcode wird einiges mit  flask-SQLAlchemy gemacht. Ich vermute das darüber die Datenbank bearbeitet wird.

Gibt es weitere Linux befehle mit denen ich eventuell Filezugriffe vom laufenden Weathermon Prozess anzeigen kann?

Gruß
drobskind

Wernieman

Stichwort lsoff

Der Code ist seeeeehr skuril, vor allem die Beispiel JS-Datei. Sorry aber da kann ich Dir nicht weiterhelfen. Wenn eine Nachfrage beim Author nichts hilft.... sehe ich schwarz
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

zwobbl

Hallo,

ich habe einen Froggit FT007PF Sensor und war auch auf weathermon gestoßen. Nach etwas Bastelarbeit hatte weathermon mir tatsächlich etwas ausgespuckt. Es stellte sich heraus, dass mein Sensor einen anderen Sensortyp übermittelt, den weathermon nicht akzeptiert.

Aufbauend auf weathermon habe ich ein einfaches Ausleseprogramm geschrieben, das lediglich Ausgaben auf der Konsole auswirft und dabei auf Datenbank und Webinterface verzichtet.
Hier als Github Projekt https://github.com/zwobbl/froggit-read

Vielleicht könntest Du das einmal probieren? Wiringpi Pin 2 (GPIO 27) habe ich aktuell eingestellt, kann aber vor dem Übersetzen nach Belieben angepasst werden.

Mit der Reichweite habe ich allerdings so meine Probleme. :( Es reicht nur für ein paar Meter bei freier Sicht. Aber das liegt wohl am billigen Receivermodul. Welche Hardware setzt Du dazu ein?

Gruß
   zwobbl

pejonp

LaCrossGW 868MHz:WT470+TFA+TX37-IT+EMT7110+W136+WH25A HP1003+WH2621
SignalD(CC1101):Bresser+WS-0101(868MHz WH1080)+Velux KLF200+MAX!+HM-MOD-UART:Smoke HM-SEC-SD+VITOSOLIC 200 RESOL VBUS-LAN+SolarEdge SE5K(Modbus)+Sonnen!eco8(10kWh)+TD3511+DRT710M(Modbus)+ZigBee+Z-Wave+MQTT+vitoconnect

drobskind

Nabend zwobbl,

vielen dank für deine Zeit, Arbeit und das Programm, dass dabei rausgekommen ist.  :D

Ich habe es zum laufen gebracht. ;) Super, dass du die ganze Datenbank-Geschichte rausgeworfen hast.
Mit einigen Anpassungen müsste es doch jetzt auch möglich sein die Daten direkt in FHEM readings zu senden.

ala: curl "http://fhem:8083/fhem?cmd.11110_A=set%20Geraet%20Messwert&XHR=1&fwcsrf=csrf_171777005367863&fw_id=101287"

Wenn es für dich keine große Sache ist, dann bau doch sowas noch ein. Ich denke das kommt einigen in der FHEM Community sehr gelegen.
Auf meiner Suche bin ich nämlich über viele Threads gestoßen, welche nach einer Möglichkeit für die Froggits gesucht haben. ;)
::)

Zur Zeit habe ich auch noch die ganz schlechten 1€ ebay 433MHz Empfänger. Mehr als 4 meter sind damit kaum möglich.
Habe mir vor 2 tagen schon den von pilight empfohlenen "Shenzhen RXB6" bestellt. Der soll eine höhere Reichweite abdecken.
Ich bin gespannt und werde berichten sobald dieser angeschlossen ist.

Gruß
drobskind

zwobbl

Hallo,

toll, dass es auch bei Dir klappt. Mich würden mal die Ausgaben interessieren. Bekommst Du auch die 0x46 als Sensortyp? Mit einem Raspberry Pi 1B kann ich übrigens nichts brauchbares auslesen. Mit dem rpi2 funktioniert es allerdings. Welchen Raspi setzt Du ein?
Habe nun auch verschiede Receiver bestellt RXB6, RXB12, RXB35, STX882. Ich hoffe einer davon taugt etwas. Ich muss zumindest durch eine Wand durch. :)

Von FHEM habe ich bisher noch keinen Plan, da ich bislang nur OpenHAB eingesetzt habe. Spielt denn FHEM z.B. mit pilight zusammen? Könnte man also das Protokoll bei pilight implementieren und FHEM die Werte von pilight abgreifen lassen?

Wenn ich das richtig verstehe, ist Dein Vorschlag, die Daten über eine REST API von FHEM dort reinzupumpen?

Gruß
   Marcel

drobskind

Hallo zwobbl,

hier eine Ausgabe von heute Morgen:
received message: 0x01 0x45 0x6f 0x03 0xdf 0x44 0xa4
Sensor type: 0x45, Channel: 1, Temperature: 15.1°C / 59.0°F, Humidity: 68%, Low battery: 1


Wie du siehst, erkennt er bei mir den Sensor type 0x45.
Bei mir läuft es jetzt zum Testen auf einem Raspberry Pi 3.

Ich finde es schön, dass du dich trotz OpenHAB in diesem Forum eingefunden hast um meine Frage zu beantworten.  ;)

Für FHEM gibt es einen pilight Plugin, ja. diesen habe ich bereits im Einsatz für 2 andere Funksensoren. Leider leidet dieser Aufbau aktuell ebenfalls noch am schlechten Empfänger.
Also wenn du deinen code als Plugin für pilight einbringen kannst wäre das sicher die genialste Lösung.

Du verstehst mich ansonsten teilweise richtig. Denn soweit ich weiß hat FHEM keine REST API. Es gibt aber andere Möglichkeiten.
Hier ein Link zu der von mir erwähnten:
https://wiki.fhem.de/wiki/CsrfToken-HowTo

Danke und Gruß
drobskind

drobskind

Hallo pejonp,
danke auch dir für deine Antwort.  :)
Wenn ich den Github Eintrag und die Forenbeiträge korrekt verstehe, dann wird hierfür ein Arduino benötigt.
Diesen habe ich nicht und wollte ihn mir zum Empfang von 3 Sensoren auch nicht extra anschaffen.
Trotzdem Danke für deinen Beitrag. Der Sensor selbst wird ja dort laut readme unterstütz.  :D

Zitat von: pejonp am 16 Juni 2017, 15:40:46
schaut mal hier beim SignalDuino
https://github.com/RFD-FHEM/RFFHEM/tree/dev-r33 bzw. hier https://forum.fhem.de/index.php/topic,58396.0.html oder https://forum.fhem.de/index.php/topic,58397.0.html

Dort werden schon einige Sensoren erkannt.

pejonp

Gruß
drobskind

pejonp

Hallo drobskind

Der arduino ist dafür da den raspberry zu entlasten und die Signaldaten  aufzubereiten. Du stellst ja gerade fest das die rf empfänger nicht so gut sind. Wenn der raspberry noch mehr Aufgaben bekommt wird der Empfang wahrscheinlich noch schlechter da er sich nicht so um die Schnittstelle zum rf empfänger kümmern kann.

Mit dem signalduino oder anderen arduino kann ich über 10 temp/hum Sensoren empfangen.
Bei pilight gibt es ja glaube ich auch eine Variante mit vorgeschaltet arduino.
Beim signalduino gibt es auch eine Variante mit einem esp8266, diese hat eine Verbindung zum fhem über wlan und kann dichter am sensor platziert werden.

Pejonp
LaCrossGW 868MHz:WT470+TFA+TX37-IT+EMT7110+W136+WH25A HP1003+WH2621
SignalD(CC1101):Bresser+WS-0101(868MHz WH1080)+Velux KLF200+MAX!+HM-MOD-UART:Smoke HM-SEC-SD+VITOSOLIC 200 RESOL VBUS-LAN+SolarEdge SE5K(Modbus)+Sonnen!eco8(10kWh)+TD3511+DRT710M(Modbus)+ZigBee+Z-Wave+MQTT+vitoconnect

zwobbl

Hallo,

habe heute einen RXB6 bekommen und einmal ausprobiert und bin begeistert. Ohne eine spezielle Antenne angeschlossen zu haben, werden Datagramme bei einer Strecke von bestimmt rund 10m und zwei 24er Hohlblockwänden und Möbeln einwandfrei empfangen.

received message: 0xc1 0x46 0x38 0x34 0x6f 0x2c 0x9b
Sensor type: 0x46, Channel: 4, Temperature: 23.1°C / 73.0°F, Humidity: 44%, Low battery: 0

received message: 0x6d 0x46 0x38 0x34 0x6f 0x2c 0x9b
Sensor type: 0x46, Channel: 4, Temperature: 23.1°C / 73.0°F, Humidity: 44%, Low battery: 0

received message: 0x39 0x46 0x38 0x34 0x70 0x2c 0xed
Sensor type: 0x46, Channel: 4, Temperature: 23.1°C / 73.0°F, Humidity: 44%, Low battery: 0


pejonp, Du hast sicher Recht mit dem Arudino, um den Raspberry Pi zu entlasten. Momentan ging es mir erst einmal die prinzipielle Machbarkeit und Hardwarevorraussetzungen zu testen. Signalduino werde ich mir auf jeden Fall einmal anschauen. Danke für den Tipp! Ein paar Nanos, einige CC1101 und nen ESP habe ich auch hier.

Gruß
    Marcel

drobskind

Mein RXB6 ist mittlerweile auch eingetroffen.
Ich muss sagen, es ist ein unterschied wie Tag und Nacht zu den billig Receivern aus Ebay.
Hätte ich mal früher daran gedacht.

So, jetzt gehts weiter.
Irgendwie müssen wir die empfangenen Werte ins FHEM bekommen.
Entweder per separaten daemon, der sie irgendwie ins FHEM überträgt.
Oder, meiner Meinung nach viel sauberer, per pilight protocol.
Wenn sich damit jemand auskennt wäre es klasse.
Ansonsten muss ich mir mal die Anleitung detailliert durchlesen und selber einen Versuch starten. https://www.pilight.org/modules/protocols/



Gruß
drobskind

aPENDIx

Hallo,

ich habe auch die Froggit F007TH und würde mir gerne die Werte im FHEM ausgeben lassen.
Gibt es schon was neues diesbezüglich?

drobskind

Hallo aPENDIx,

leider nein.
Ich habe mir vor einigen Tagen die Anleitung zum Erstellen eines Pilight Protokolls angesehen.
Leider ist das ganze recht komplex und ich habe aktuell nicht genügend Zeit um mich dort einzuarbeiten.
Du kannst aber gerne mal das Programm von Zwobbl installieren und ausführen: https://github.com/zwobbl/froggit-read
Das lief bei mir hervorragend (vorausgesetzt du hast einen guten Empfänger).

Falls du die Zeit und etwas Programmiererfahrung hast kannst du dich vielleicht selbst am Pilight Protokoll versuchen und uns deine Erkenntnisse mitteilen.
Der Quellcode von Zwobbl ist recht kompakt. Er muss vermutlich nur etwas angepasst werden und in das Pilight dummy Protokoll eingearbeitet werden.

Sorry, dass ich aktuell nichts Besseres berichten kann.

Gruß
drobskind