Freetz und owfs - empfehlenswert?

Wie der Titel schon sagt interessiere ich mich für speed2freetz in Verbindung mit owfs.
Damit möchte ich etwa 30 stück 1 wire temp Sensoren auslesen und für IPS bereitstellen. In dem heizungsraum habe ich leider kein Netzwerkkabel. Daher die Idee das per WLAN zu nützen.

Ich habe dort zwar schon ein raspberry 1 - aber der soll nur für canbus (Heizung) und später mal opentherm (Lüftungsanlage) herhalten…

Die passenden alten speedports gibts ja gebraucht recht günstig… Die Teile -denke ich zumindest- sind robuster als der raspberry… Auch aufgrund der Abhängigkeiten - wenn alles auf dem raspberry läuft.

Was meint ihr? Gibts dazu Empfehlungen oder Erfahrungen…

Die temp Sensoren werden über einen eservice rj45 hub mit Strom versorgt. Der hub kommuniziert dann mit dem DS9490r USB Adapter…

Alternativ sind natürlich auch Open-WRT Router denkbar mit USB Anschluss und 1Wire Unterstützung.
Da habe ich zwar diverse Geräte gefunden - aber nichts zu OWFS -
TP-Link TL-WR710N (21€)
Edimax 3G-6200NL (25€)
TP-Link TL-WR842ND (26€)
Netgear WNR2200 (45€)
Linksys WRT160NL

NSLU2 (30€) + irgendeine WLAN Box als Gateway

Favorit bisher NSLU2 mit 2 USB Anschlüssen…oder Linksys WRT160NL…

Hallo mastermind1,

warum nimmst du nicht einen zweiten RASP für die Temperaturerfassung. Das hat folgende Vorteile:

  • Sensoren wie der 1820B können direkt eingelesen werden (spart das 1 Wire-Interface)
  • IPS auf dem RASP und JSON-Kommunikation zu einer zentralen IPS sind sehr einfach
  • Stromverbrauch ist im Vergleich zu Speedports sicher geringer

Ich erfasse damit seit 1 Jahr meine Fussbodenheizungswerte ohne Probleme, allerdings über LAN, WLAN hatte ca. einmal pro Woche Aussetzer.

Auf dem letzten IPS-Stammtisch in Erlangen habe ich das auch mal vorgestellt. PDF ist als Anlage dabei.

Gruss
Bernd
1Wire.jpg

IPS_Stammtisch_Erlangen.pdf (438 KB)

Interessant…

Beim direkten Anschluss am raspi gibts aber grenzen hinsichtlich der Anzahl? Hab ja etwa 30 tempsensoren + 1* feuchte + 1 luftgüte über Widerstandswert (eservice)…
Den DS9490r + eservice rj45 hub hab ich rumliegen…

Top PDF übrigens!

hallo Bernd,

so langsam verstehe ich deine PDF, oder auch nicht :slight_smile:

Deine Kurzanleitung zeigt das Schema:

  • IPS auf Windows
  • Raspberry mit 1Wire

Die Temperaturen werden ausgehend vom Windows IPS aus vom Raspberry Filesystem ausgelesen.
Für was benötigt man die die JSON API?
Wo wird in IPS der Rapsberry hinterlegt?

Oder sind PUnkt 3.2 (Seite 10) und Punkt 4.3 (Seite 13) zwei Zugriffsszenarien…

Zur JSON API finde ich zwar kurze Erläuterungen in der Doku…

Aber wo finde ich die Infos zurRaspberry IPS Einrichtung
Wie gesagt, mein Haupt-IPS System soll unter Windows bleiben.

Ich möchte lediglich die 1Wire Temperaturwerte in IPS-Windows schreiben. (Das würde die SD-Karte des Raspberrys schonen).

Hallo mastermind1,

sorry, das PDF war nur zur Unterstützung meiner Präsentation gedacht und ist wohl deshalb nicht ganz selbsterklärend. Ich versuche mal, deine Fragen zu beantworten und es etwas klarer darzustellen:

[ul]
[li]IPS-Hauptrechner läuft auf Windows und dort werden auch die Daten gespeichert und visualisiert (interne SQLite, MySQL, amcharts und das ganze drumherum)
[/li][li]IPS läuft auch auf dem RASP (Link zu Installationsanleitung von paresy: https://www.symcon.de/forum/threads/24620-Installationsanleitung-%28RaspberryPi-Raspbian%29)
[/li][li]auf dem RASP werden die 1Wire-Sensoren über GPIOs eingelesen (jede Minute). (Bild 4.2) zeigt exemplarisch die notwendigen Befehle in der Kommandozeile. Logging habe ich dafür nicht aktiviert, da ja alles auf dem Hauptsystem landet. Ob das die uSD schont, na ja ??
[/li][li]auf beiden IPSen werden identische Variablen angelegt und über JSON vom RASP auf Windows übertragen (Bild 3.1). Hierzu dient auf dem RASP-IPS das Script 1W_Sensoren_lesen (siehe unten).
[/li][li]vor JSON habe ich mich auch lange gedrückt, es ist aber ganz einfach. Mit „new JSONRPC“ legst du mit Logindaten und Hostnamen[IP] einfach eine neu Verbindung an. Dann kannst du im Zielsystem die Variablen entsprechen beschreiben (ist auch im Beispielscript mit drin)
[/li][li]
[/li][/ul]

// 1Wire Werte aus dem RASP- Filesystem einlesen

$Sensor = "28-0000065cd2cf";  
$temperatur = implode('', file("/sys/bus/w1/devices/".$Sensor."/w1_slave"));
$temperatur = substr($temperatur, strpos($temperatur, "t=") + 2);
$temperatur = round(($temperatur/1000),1);

$alte_Temperatur = GetValueFloat(39928 /*[Fussbodenheizung]*/);
$delta = 0.09;

$diff = abs($temperatur-$alte_Temperatur);
if ( $diff > $delta )
	{
	
	// Wert vom RASP-IPS in Windows-IPS über JSON schreiben, wenn Temperaturdelta größer $delta (hier 0,09) ist
	
	SetValueFloat(39928 /*[Fussbodenheizung]*/,$temperatur);
	$rpc = new JSONRPC("http://myname@mydomain:mypassword@192.168.174.33:82/api/");
	$rpc->SetValueFloat(47948 /*[Objekt #47948 existiert nicht]*/,$temperatur);
	}

Gruss
Bernd

Vielen Dank für die ausführliche Erklärung.
Nun ist der Groschen gefallen…

Ist es eigentlich dann möglich, mehrere IPS Raspis als Datensammler zu betreiben?
Hätte wie gesagt Canbus (Heizung) + Opentherm (Lüftung) und 1Wire idealerweise separat.

Ich muss mir also „nur noch“ Gedanken über ein regelmässiges Raspi Komplettbackup auf meine NAS machen.
D.h bei nem SD-Ausfall müsste ich die Sicherung lediglich auf die neue SD-Karte schieben - Fertig.
Da gibt’s ja die Möglichkeit der Verlinkungen… Dann häng ich mein NAS ins Filesystem ein.

Nächste Baustelle :smiley:

Das ist einfach und läuft bei mir seit dem ersten RasbPI Test raspiBackup - Raspberry erstellt Backups von sich selbst