+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 10 von 20
  1. #1
    Registriert seit
    Apr 2013
    Ort
    Baden-Württemberg
    Beiträge
    2,078

    Talking Mein kleines 1-Wire Raspberry IPS Projekt

    Ich hab in der kurzen Freizeit mal angefangen, mein Heizungsraum mit 1Wire Sensoren auszustatten.

    Randbedingung:
    - KEIN LAN vorhanden -> WLAN nötig
    - 1-Wire Sensoren sollen angeschlossen werden (ca. 30 - 40 Stück)
    30 - 40 Stück Tempsensoren (für FBH, VL, RL, Speichertemp, Puffertemp, usw.)
    1x Eservice Luftgütesensor
    - CanBus soll angeschlossen werden können
    Stiebel Eltron WPL 13 Cool vorhanden
    (Original CoCo PC / Gatewaylösung unverschämt teuer)
    Auslesen der WErte nun mit Abfrageskripten von juerg54.ch
    - die gesamte Lösung soll in ein kleines Hutschienengehäuse passen
    - Stromverbrauch minimal

    -> Lösung:
    Raspberry PI B+ im Hutschienengehäuse
    1 Wire Stromverteiler (von eservice)
    1 Wire DS9490r in Verbindung mit Stromverteiler (war noch übrig)
    CanberryPi V2 Steckkarte mit Raspi (industrialberry.com)
    Die Verbindung vom 1 Wire Stromverteiler erfolgt per RJ45 Patchkabel bis zu den Sensoren hin, dort habe ich den RJ45 Stecker abgeknipst und den ersten Stecker aufgelötet.
    Dabei habe ich immer zwei Adernpaare zusammen genommen!.

    Die TempSensoren selbst habe ich auf eine Platine gelötet, samt steckbarer Leiste, Stützkondensator 100nF.
    Die Sensoren sind per Kabelbinder an das Fussbodenheizungsrohr angeklemmt

    Die Abfrage der 1 Wire Sensoren erfolgt auf dem Raspi.
    D.h. dort ist OWFS installiert + IPS.
    Mit folgendem Skript frage ich zyklisch die Temp-werte ab, trage Sie in IPS ein.
    Mein Windows IPS kann die Daten dann vom Raspi IPS abrufen,
    Bin natürlich bei weitem noch nicht fertig.
    Es fehlen noch viele weitere Temp-Sensoren.... aber das kommt so Stück für Stück nach.
    Die Montageplatte mit der Hutschiene muss noch in das Gehäuse rein...

    Sieht noch ein wenig durcheinander aus.... Mir war es aber wichtig, dass alles aufgeräumt an einer Stelle ist.


    Hier ein paar Bilder:
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IMG_20151001_220355.jpg 
Hits:	1116 
Größe:	189.5 KB 
ID:	30973Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IMG_20151001_220404.jpg 
Hits:	911 
Größe:	188.6 KB 
ID:	30974Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IMG_20151001_220416.jpg 
Hits:	752 
Größe:	194.8 KB 
ID:	30975Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IMG_20151001_220514.jpg 
Hits:	712 
Größe:	225.0 KB 
ID:	30976Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IMG_20151001_220522.jpg 
Hits:	740 
Größe:	219.9 KB 
ID:	30977Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IMG_20151001_220539.jpg 
Hits:	888 
Größe:	191.4 KB 
ID:	30978Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Screenshot_2015-10-01-22-02-12.png 
Hits:	808 
Größe:	173.5 KB 
ID:	30979

    Hier das Skript zur Anlage der Tempsensoren Kategorien + Werte auf dem Raspi IPS:
    (ist hier aus dem Forum) - leicht angepasst, dass meine Sensoren mit der ID "28" beginnen.
    PHP-Code:
    if ($handle opendir('/mnt/1wire'))
        {
        
    // Verzeichnis durchlaufen
       
    while (false !== ($file readdir($handle)))
             {
            If ((
    strlen($file) == 15) and (substr($file21) == "."))
                {
                
    //  Basiskategorie anlegen
                
    $CatID CreateCategoryByName(0"1-Wire");

                  If (
    substr($file02) == "28")
                     {
                
    $uCatID CreateCategoryByName($CatID"DS18B20 - ".$file);
                    
    $varid CreateVariableByName($uCatID"address"3);
                    
    SetValueString($varidexec("cat /mnt/1wire/$file/address"));
                    
    $varid CreateVariableByName($uCatID"type"3);
                    
    SetValueString($varidexec("cat /mnt/1wire/$file/type"));
                    
    $varid CreateVariableByName($uCatID"temperature"2"~Temperature");
                    
    SetValueFloat($varid, (float)exec("cat /mnt/1wire/uncached/$file/temperature"));
                    
    $varid CreateVariableByName($uCatID"alias"3);
                    
    SetValueString($varidexec("cat /mnt/1wire/$file/alias"));
                     }
                elseif (
    substr($file02) == "81")
                     {
                
    $uCatID CreateCategoryByName($CatID"DS1420 - ".$file);
                
    $varid CreateVariableByName($uCatID"address"3);
                    
    SetValueString($varidexec("cat /mnt/1wire/$file/address"));
                    
    $varid CreateVariableByName($uCatID"type"3);
                    
    SetValueString($varidexec("cat /mnt/1wire/$file/type"));
                    
    $varid CreateVariableByName($uCatID"alias"3);
                    
    SetValueString($varidexec("cat /mnt/1wire/$file/alias"));
                     }
             elseif (
    substr($file02) == "3A")
                     {
                
    $uCatID CreateCategoryByName($CatID"DS2413 - ".$file);
                
    $varid CreateVariableByName($uCatID"address"3);
                    
    SetValueString($varidexec("cat /mnt/1wire/$file/address"));
                    
    $varid CreateVariableByName($uCatID"type"3);
                    
    SetValueString($varidexec("cat /mnt/1wire/$file/type"));
                    
    $varid CreateVariableByName($uCatID"alias"3);
                    
    SetValueString($varidexec("cat /mnt/1wire/$file/alias"));
                    
    $varid CreateVariableByName($uCatID"PIO.A"0);
                    
    SetValueBoolean($varidIdentTrueFalse(exec("cat /mnt/1wire/uncached/$file/PIO.A")));
                
    $varid CreateVariableByName($varid"use_PIO.A"0);
                    
    $varid CreateVariableByName($uCatID"PIO.B"0);
                    
    SetValueBoolean($varidIdentTrueFalse(exec("cat /mnt/1wire/uncached/$file/PIO.B")));
                
    $varid CreateVariableByName($varid"use_PIO.B"0);
                    
    $varid CreateVariableByName($uCatID"sensed.A"0);
                    
    SetValueBoolean($varidIdentTrueFalse(exec("cat /mnt/1wire/uncached/$file/sensed.A")));
                
    $varid CreateVariableByName($varid"use_sensed.A"0);
                    
    $varid CreateVariableByName($uCatID"sensed.B"0);
                    
    SetValueBoolean($varidIdentTrueFalse(exec("cat /mnt/1wire/uncached/$file/sensed.B")));
                
    $varid CreateVariableByName($varid"use_sensed.B"0);
                    }
             elseif (
    substr($file02) == "26")
                     {
                
    $uCatID CreateCategoryByName($CatID"DS2438 - ".$file);
                
    $varid CreateVariableByName($uCatID"address"3);
                    
    SetValueString($varidexec("cat /mnt/1wire/$file/address"));
                    
    $varid CreateVariableByName($uCatID"type"3);
                    
    SetValueString($varidexec("cat /mnt/1wire/$file/type"));
                    
    $varid CreateVariableByName($uCatID"temperature"2"~Temperature");
                    
    SetValueFloat($varid, (float)exec("cat /mnt/1wire/uncached/$file/temperature"));
                    
    $varid CreateVariableByName($uCatID"VAD"2);
                    
    SetValueFloat($varid, (float)exec("cat /mnt/1wire/uncached/$file/VAD"));
                
    $varid CreateVariableByName($varid"use_VAD"0);
                    
    $varid CreateVariableByName($uCatID"VDD"2);
                    
    SetValueFloat($varid, (float)exec("cat /mnt/1wire/uncached/$file/VDD"));
                    
    $varid CreateVariableByName($varid"use_VDD"0);
                    
    $varid CreateVariableByName($uCatID"alias"3);
                    
    SetValueString($varidexec("cat /mnt/1wire/$file/alias"));
                     }
                  }
            }
        
    closedir($handle);
        }
    return;

    function 
    CreateVariableByName($fatid$name$type$profile "")
    {
        
    $vid = @IPS_GetVariableIDByName($name$fatid);
        if(
    $vid === false)
        {
            
    $vid IPS_CreateVariable($type);
            
    IPS_SetParent($vid$fatid);
            
    IPS_SetName($vid$name);

            if(
    $profile !== "")
            {
                
    IPS_SetVariableCustomProfile($vid$profile);
            }
        }
        return 
    $vid;
    }

    function 
    CreateCategoryByName($fatid$name)
    {
        
    $CatID = @IPS_GetCategoryIDByName($name$fatid);
        if(
    $CatID === false)
        {
            
    $CatID IPS_CreateCategory(); // Kategorie anlegen
              
    IPS_SetName($CatID$name); // Kategorie benennen
              
    IPS_SetParent($CatID$fatid);
        }
        return 
    $CatID;
    }

    function 
    IdentTrueFalse($Value)
    {
        if(
    $Value == "0")
            {
          
    $result false;
            }
        else
            {
          
    $result true;
            }
        return 
    $result;

    Die Einrichtung von OWFS / OWHTTP... habe ich wie hier beschrieben vorgenommen:
    https://www.raspberrypi.org/forums/v...p?f=44&t=27379
    Geändert von mastermind1 (02.10.15 um 07:25 Uhr)
    • Z-WAVE (Haus), 1-Wire: (Wind), Heishamon (Heizung) uvm.
    • IPS 5.5 mit Razberry PI 3 + Zwave.ME
    • Discovergy Stromzähler + Fronius 8.2-3 + Fronius Smartmeter
    • Tibber -> Smarter Stromanbieter --> https://invite.tibber.com/8f03b626

  2. #2
    Registriert seit
    Oct 2007
    Ort
    Villach,Kärnten,Österreich
    Beiträge
    3,311

    Servus

    nur aus Interesse: Wenn du die 1Wire über OWFS anbindest, warum läßt du dann nicht das WIN IPS die Werte direkt außm OWFS lesen sondern machst den Umweg über ein zweites IPS ?
    Oder brauchst das für den CAN Bus von dem du noch schreibst ?

    Ich mein nicht das es mir nicht gefällt, aber grad bei Systemen die irgendwo in der Installation rumlungern ist es ja so eine Sache mit Updates und Wartung. Die würde ich eher so unkompliziert und minimal als möglich konfigurieren.

    gruß
    bb

  3. #3
    Registriert seit
    Apr 2013
    Ort
    Baden-Württemberg
    Beiträge
    2,078

    Ich habe IPS auf dem Raspi urspürnglich für das Canbus Projekt vorgesehen....

    Es gibt eigentlich keinen richtigen Grund, warum ich das nicht direkt abfrage...

    Wie würde das den ablaufen. Auf dem Raspi läuft ja bei Bedarf "owfs + owserver + owhttp + owftp."
    Das muss ja "lediglich" in der owfs.conf (unter /etc/) eingestellt werden und dann später unter /etc/init.d/ gestartet werden - für einen Test.

    Mit "update-rc.d owfs defaults" trägt man "OWFS" in den Autostart
    Mit "update-rc.d owftp defaults" trägt man "OWFTP" in den Autostart usw...

    Mein Raspi hat die IP 192.168.2.3.

    Die Ports:

    OWFS Webseite hat: 2121
    OWServer: 3131
    OWFTP: 2120
    Geändert von mastermind1 (02.10.15 um 09:34 Uhr)
    • Z-WAVE (Haus), 1-Wire: (Wind), Heishamon (Heizung) uvm.
    • IPS 5.5 mit Razberry PI 3 + Zwave.ME
    • Discovergy Stromzähler + Fronius 8.2-3 + Fronius Smartmeter
    • Tibber -> Smarter Stromanbieter --> https://invite.tibber.com/8f03b626

  4. #4
    Registriert seit
    Apr 2013
    Ort
    Baden-Württemberg
    Beiträge
    2,078

    Optisches update.
    Passenden rj45 Verteiler gefunden.
    Luftgüte Sensor angeschlossen.

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	uploadfromtaptalk1443948298979.jpg 
Hits:	542 
Größe:	197.3 KB 
ID:	30990
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	uploadfromtaptalk1443948211017.jpg 
Hits:	515 
Größe:	199.4 KB 
ID:	30988Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	uploadfromtaptalk1443948246567.jpg 
Hits:	503 
Größe:	193.4 KB 
ID:	30989
    • Z-WAVE (Haus), 1-Wire: (Wind), Heishamon (Heizung) uvm.
    • IPS 5.5 mit Razberry PI 3 + Zwave.ME
    • Discovergy Stromzähler + Fronius 8.2-3 + Fronius Smartmeter
    • Tibber -> Smarter Stromanbieter --> https://invite.tibber.com/8f03b626

  5. #5
    Registriert seit
    Sep 2009
    Ort
    Innsbruck, Österreich
    Beiträge
    317

    Hallo,
    ganz kurze Frage: Für was benötigt man die Stützkondensatoren?

    Habe selbst den blauen USB 1 Wire Adapter und daran ca. 15 Temperatursensoren hängen, welche ich selbst angelötet habe, nur halt ohne Stützkondensator, und habe bis jetzt kein Problem feststellen können.

    Gruß Werner

  6. #6
    Registriert seit
    Apr 2013
    Ort
    Baden-Württemberg
    Beiträge
    2,078

    Ich hatte in der Vergangenheit manchmal Abfrageprobleme (mit dem blauen DS9490R und Windows IPS).
    Daraufhin überall Stützkondensator nachgerüstet - und Probleme waren weg.

    Deshalb habe ich die dort jetzt grundsätzlich reingelötet... Hier kommen ja noch insg. ca. 30 - 40 Sensoren zusammen!
    Aus diesem Grunde habe ich ja auch noch die bessere Stromversorgung mittels "Eservice HUB" gewählt.
    • Z-WAVE (Haus), 1-Wire: (Wind), Heishamon (Heizung) uvm.
    • IPS 5.5 mit Razberry PI 3 + Zwave.ME
    • Discovergy Stromzähler + Fronius 8.2-3 + Fronius Smartmeter
    • Tibber -> Smarter Stromanbieter --> https://invite.tibber.com/8f03b626

  7. #7
    Registriert seit
    Nov 2012
    Ort
    Crinitzberg
    Beiträge
    263

    Guten Morgen,

    Hallo,
    ganz kurze Frage: Für was benötigt man die Stützkondensatoren?
    Das ist eine sehr gute Frage! Man brauch die Dinger, das ist mal Fakt! Meine Kellersensoren gehen sonst gar nicht.
    Nur einleuchtend ist das nicht, da der OW Sensor einen Kondensator eingebaut hat. Meine Bodensensoren haben noch keine Kondensatoren und machen weniger Abfragefehler, wie die im Keller. Am Ende sind das Entstör- C´s.

    Grüße Jens

  8. #8
    Registriert seit
    Apr 2013
    Ort
    Baden-Württemberg
    Beiträge
    2,078

    Und weiter gehts... Was würde ich nur machen -wenns regnet- und ich kein IP-Symcon hätte

    jetzt wird auch der Eservice Luftguetesensor abgefragt über den Raspi :-)

    Ein Voltcraft Co-20 folgt noch.... Die Abfrage auf dem Raspi funktioniert schon... (perl Skript)...
    Das müsste ich jetzt in IPS reinkriegen....


    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Webfront Raspi.JPG 
Hits:	490 
Größe:	73.4 KB 
ID:	31062
    • Z-WAVE (Haus), 1-Wire: (Wind), Heishamon (Heizung) uvm.
    • IPS 5.5 mit Razberry PI 3 + Zwave.ME
    • Discovergy Stromzähler + Fronius 8.2-3 + Fronius Smartmeter
    • Tibber -> Smarter Stromanbieter --> https://invite.tibber.com/8f03b626

  9. #9
    Registriert seit
    Apr 2013
    Ort
    Baden-Württemberg
    Beiträge
    2,078

    Das Gehäuse hängt endlich an der Wand,
    Kabel aufgeräumt
    Alles neu und schön verkabelt

    Jetzt fehlen nur noch weitere 25 Tempsensoren :-)


    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	7836cf54bc1d112856ca32f3e488d5a8.jpg 
Hits:	358 
Größe:	74.0 KB 
ID:	31469
    Geändert von mastermind1 (09.11.15 um 07:24 Uhr)
    • Z-WAVE (Haus), 1-Wire: (Wind), Heishamon (Heizung) uvm.
    • IPS 5.5 mit Razberry PI 3 + Zwave.ME
    • Discovergy Stromzähler + Fronius 8.2-3 + Fronius Smartmeter
    • Tibber -> Smarter Stromanbieter --> https://invite.tibber.com/8f03b626

  10. #10
    Registriert seit
    Apr 2013
    Ort
    Baden-Württemberg
    Beiträge
    2,078

    Demnächst wird die Finale Version in Betrieb genommen :-)

    Aus dem Blog von Thomas Heldt (hier schon mal beschrieben: https://www.symcon.de/forum/threads/...re-ESP8266-uvm habe ich mir zum Test eine 10fach 1-Wire Abzweigplatine bestellt.

    Die Abzweigplatine gibt es in der kleinen Version zum Anschluss von 2 Sensoren oder als Abzweigung für eine Unterputzdose
    oder wie ich Sie benötige für bis zu10 Sensoren. D.h. ich kann mit 3 Platinen alle meine Sensoren für unseren Fussbodenheizung anschliessen.

    Zur Ausstattung gehören -in meiner Konfiguration- Schraubklemmen für die Sensoren.
    Der 1-Wire Bus wird durch WAGO 2060 THR Klemmen realisiert. Und das ganze wird abgerundet durch einen einstellbaren BUS PULL UP Widerstand und zur Bus Überwachung DS2411. Den Stützkondensator kann ich ein die Schraubklemme mit reinschrauben.

    Also alles recht plug&play.

    Mir war die Löterei jedes Sensors -meiner Platinchen- einfach zu nervig und schön siehts auch nicht aus :-)

    Dort bekommt man -einerseits viele Infos und Anleitungen für 1-Wire/Arduino/ESP8266- und andererseits aus den Anleitungen auch Bausätze die man zusammenlöten/bauen muss. Und das zu sehr fairen Preisen.

    Zum Glück erhalte ich als "Erst-Besteller" die Fertig bestückte Platine aus dem Foto - Vielen Dank nochmals!





    Die Platine soll in ein Universalgehäuse (1€ - 5€) - da werde ich noch ein paar ausprobieren. FÜr die Verschraubungen der Sensoren kann ich mit dem Dremel ja eine kleine Öffnung reinmachen.
    Dann sieht das alles aufgeräumt aus.

    Wenn das soweit funktioniert, bestelle ich nochmals 2 Platinen und alles ist sauber verräumt und sinnvoll angeschlossen.
    Geändert von mastermind1 (05.09.16 um 13:59 Uhr)
    • Z-WAVE (Haus), 1-Wire: (Wind), Heishamon (Heizung) uvm.
    • IPS 5.5 mit Razberry PI 3 + Zwave.ME
    • Discovergy Stromzähler + Fronius 8.2-3 + Fronius Smartmeter
    • Tibber -> Smarter Stromanbieter --> https://invite.tibber.com/8f03b626

Ähnliche Themen

  1. Suche Freelancer für kleines Projekt
    Von djtark im Forum Off Topic
    Antworten: 0
    Letzter Beitrag: 09.12.14, 15:21
  2. Antworten: 3
    Letzter Beitrag: 09.12.14, 08:48
  3. Mein Projekt Mietwohnung
    Von yb1898 im Forum Projekt Showcase
    Antworten: 2
    Letzter Beitrag: 16.02.12, 17:55
  4. Mein PROJEKT - Hausautomatisierung
    Von ASICS im Forum Projekt Showcase
    Antworten: 14
    Letzter Beitrag: 02.11.10, 16:57
  5. Mein Projekt,...
    Von eviltheknivel im Forum Projekt Showcase
    Antworten: 15
    Letzter Beitrag: 25.02.09, 10:20

Stichworte