+ Antworten
Seite 1 von 4 1 2 3 ... LetzteLetzte
Ergebnis 1 bis 10 von 37
  1. #1
    Registriert seit
    Aug 2011
    Beiträge
    976

    Standard Einzelne 1wire-Module werden als fehlerhaft angezeigt aber können ausgelesen werden?!

    Hallo,

    seit dem Update auf 3676 werden 4 meiner 29 1wire-Module/Sensoren (ohne das ich am Netzwerk was geändert habe) im OneWire-Konfiguartor grauhinterlegt (fehlerhaft?) angezeigt (es wird auch kein "Typ" angegeben). Können jedoch über die entsprechene Instanz korrekt und (scheinbar) problemlos ausgelesen werden!

    Wenn ich sie per TMEX_RequestRead(INstanzID) abfrage kommt die Fehlermeldung:
    Code:
    Warning:  1-Wire Operation failed: CRC Error in C:\IP-Symcon\scripts\__compatibility.inc.php on line 4636
    Kann das jemand bestätigen oder noch besser jemand nen Tipp geben woran es liegen könnte.
    Liegs am Update (Stichwort Trennung in mehrere OneWire-Module) oder sind gleichzeitig 4 Sensoren defekt (obwohl sie noch anzeigen was sie sollen)?

    hardlog
    IPS 5.0unlim, 3x W&T WebIO12, diverse 1wire (LAN), FritzOS 7, z-Wave, DMX/ArtNet-Node, M-Bus, ESP8266 via MQTT

    "Prognosen sind schwierig, besonders wenn sie die Zukunft betreffen" N. Bohr

  2. #2

    Habe auch seltsame 1-W fehler.
    Code:
    Call to undefined function TMEX_SetF20Voltage() in E:\ips\scripts\33003.ips.php on line 145
    Abort Processing during Fatal-Error: Call to undefined function TMEX_SetF20Voltage()
    Bin aber noch nicht sicher, ob das damit zusammen hängt.
    IPS Ninja \\ Webfront auf 15" ELO Touch \\ z-wave \\ IPS-868 \\ FS20 \\ 1-wire \\ Oregon WMRS200 \\ Mediaportal \\ 4x Squeezebox \\ SONOS \\ Denon AVR1912 \\ Kostal Piko 5.5 \\ 7x Vivotek \\ 1x INStar \\ Gardena R40Li mit Robonect HX30
    Mehr auf www.diewuppers.de

  3. #3
    Registriert seit
    Feb 2005
    Ort
    Lübeck
    Beiträge
    22,191

    Ist es bei der #3683 genauso? Ich glaube dort sollte der DS2450 korrekt gelistet werden

    @wupperi: Schaue ich mir an. Da fehlen anscheinend noch ein paar Kompatibilitätsfunktionen.

    paresy

  4. #4

    Das ist ein Skript, vergleichbar mit meinem, welches die Fehler auslöst:

    PHP-Code:
    <?

    /******************************************************************************1-Wire Hub, Auswerteskriptwww.eservice-online.de*******************************************************************************
    Dieses Skript dient dazu die Spannungs- und Stromüberwachung für das1-Wire-Hub Modul von E-Service (eservice-online.de) weitgehenst automatischin IPS-Symcon einzurichten.
    Erstellt von  E-Service Online (http://www.eservice-online.de)Version 1.5, 14-08-2013, geändert von andrge
    Nachfolgende fünf Schritte müßen Sie von Hand ausführen:    Schritt 1:    Kategorie für den 1-Wire-Hub anlegen.    Name nach eigenen Wünschen
        Schritt 2:    Ein neues Skript unterhalb der Kategorie (aus Schritt 1) erstellen.    Name nach eigenen Wünschen
        Schritt 3:    Eine Instanz für den DS2450 unterhalb dieser Kategorie (aus Schritt 1) anlegen.
        !!! Wichtig !!! Der Name muß lauten:  1-Wire-Hub (case sensitive)    andernfalls ist der Name in Zeile 67 zu ändern.
        Schritt 4:    Auswahl der 1-Wire Hub Version in Zeile 48:    Die Version finden Sie auf dem Typenschild.    Version 1 ist bis Mitte 2013, Version 2 ab ca. 6-2013 verfügbar.    Angabe zur Version finden Sie auf dem Typenschild.
        Schritt 5:    Skript 1x per "Ausführen" starten
        FERTIG !!!!!!!!
    Ab jetzt wird das Skript bei einer Änderung der Variable 12V Strom (Port 0)getriggert.


    *******************************************************************************///Auswahl der 1-Wire Hub Version$version = 2    ;  //1 = 1-Wire Hub bis V1, 2 = 1-Wire Hub II V2 (ab 6-2013)

    // Debug-Modus an=true / aus=false$debug = false;
    $offset_Strom_5V 20;                 // ist der Nullwertfehler für 5V Strom den der AD-Wandler ohne Last ausgibt$offset_Strom_12V = 20;             // ist der Nullwertfehler für 12V Strom den der AD-Wandler ohne Last ausgibt
    /********************************************************************************Ab hier nichts mehr ändern !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!********************************************************************************/
    // Übergeordnete Kategorie ermitteln$parentID = IPS_GetObject($IPS_SELF);$parentID = $parentID['ParentID'];
    // Manuelle Definition evtl. IDs$DS2450 = IPS_GetInstanceIDByName ( '1-Wire-Hub', $parentID );  //Name geändert!!
    // Variablen zur Skriptverarbeitung einlesen und intern verfügbar machen$DS2450_Port0 = IPS_GetStatusVariableID($DS2450, "F20_Var0");$DS2450_Port1 = IPS_GetStatusVariableID($DS2450, "F20_Var1");$DS2450_Port2 = IPS_GetStatusVariableID($DS2450, "F20_Var2");$DS2450_Port3 = IPS_GetStatusVariableID($DS2450, "F20_Var3");if($debug) {echo $DS2450_Port0."\n";}if($debug) {echo $DS2450_Port1."\n";}if($debug) {echo $DS2450_Port2."\n";}if($debug) {echo $DS2450_Port3."\n";}
    // Inhalt des benötigten Actionsskripts in Variable ablegen$actionScript = "<?if(\$IPS_SENDER == 'WebFront') {      SetValue(\$IPS_VARIABLE, \$IPS_VALUE);}
    ?>";
    // ***************** Start Erstinitialisierung *********************************if($IPS_SENDER == "Execute") {                // nur wenn bei "Ausführen"    // Variablenprofil für Spannung anlegen    if(!IPS_VariableProfileExists('Busspannung')) {        IPS_CreateVariableProfile ('Busspannung',2);        IPS_SetVariableProfileText('Busspannung','','V');        IPS_SetVariableProfileIcon ('Busspannung', 'Graph');        IPS_SetVariableProfileDigits('Busspannung', 2);        if($debug) { echo "Variablenprofil angelegt\n"; }    }    else {   if($debug) {echo "Variableprofil Busspannung besteht bereits\n";     } }
        // Variablenprofil für Strom anlegen    if(!IPS_VariableProfileExists('Busstrom')) {        IPS_CreateVariableProfile ('Busstrom',2);        IPS_SetVariableProfileText('Busstrom','','mA');        IPS_SetVariableProfileIcon ('Busstrom', 'Graph');        IPS_SetVariableProfileDigits('Busstrom', 1);        if($debug) { echo "Variablenprofil angelegt\n"; }        }    else {   if($debug) {echo "Variableprofil Busstrom besteht bereits\n";  }    }
        // Variablenprofil für Leistung anlegen    if(!IPS_VariableProfileExists('Leistung-Summe')) {        IPS_CreateVariableProfile ('Leistung-Summe',2);        IPS_SetVariableProfileText('Leistung-Summe','','W');        IPS_SetVariableProfileIcon ('Leistung-Summe', 'Graph');        IPS_SetVariableProfileDigits('Leistung-Summe', 2);        if($debug) {echo "Variablenprofil angelegt\n";}        }    else { if($debug) {echo "Variableprofil Leistung-Summe besteht bereits\n";    }  }
        // Skript verstecken   IPS_SetHidden($IPS_SELF, true);   IPS_SetPosition($IPS_SELF, 99);
        // Actionskript erzeugen (siehe function)   $ScriptID = CreateScriptByName("Aktionskript 1-Wire-Hub", $parentID, $actionScript);    if($debug) { echo "Actionskript angelegt\n";    }
        // Variablen des DS2450 umbennen    IPS_SetName($DS2450_Port0, "12V Strom, Status Port 0");    IPS_SetPosition($DS2450_Port0, 1);    IPS_SetName($DS2450_Port1, "12V Spannung, Status Port 1");    IPS_SetPosition($DS2450_Port1, 2);    IPS_SetName($DS2450_Port2, "5V Strom, Status Port 2");    IPS_SetPosition($DS2450_Port2, 3);    IPS_SetName($DS2450_Port3, "5V Spannung, Status Port 3");    IPS_SetPosition($DS2450_Port3, 4);    if($debug) { echo "DS2450 Variablen umbenannt\n";    }
        // DS2450 programmieren    TMEX_SetF20Voltage($DS2450, 0, true);    TMEX_SetF20PortType($DS2450, 0, true);    TMEX_SetF20Resolution($DS2450, 0, 12);
        TMEX_SetF20Voltage($DS2450, 1, true);    TMEX_SetF20PortType($DS2450, 1, true);    TMEX_SetF20Resolution($DS2450, 1, 12);
        TMEX_SetF20Voltage($DS2450, 2, true);    TMEX_SetF20PortType($DS2450, 2, true);    TMEX_SetF20Resolution($DS2450, 2, 12);
        TMEX_SetF20Voltage($DS2450, 3, true);    TMEX_SetF20PortType($DS2450, 3, true);    TMEX_SetF20Resolution($DS2450, 3, 12);
        TMEX_SetInterval($DS2450, 5);    if($debug) {    echo "DS2450 Instanz programmiert\n";    }
        // Ereignis für Skript erstellen falls nicht vorhanden    $EreignisID = @IPS_GetEventIDByName("Port0", $IPS_SELF);    if ($EreignisID == 0) {        $eid = IPS_CreateEvent(0);                                    // Ausgelöstes Ereignis        IPS_SetEventTrigger($eid, 0, $DS2450_Port0);             // Bei Änderung von Variable        IPS_SetParent($eid, $IPS_SELF);                                 // Ereignis zuordnen        IPS_SetName($eid, "Port0");                                    // Ereignis umbennen        IPS_SetEventActive($eid, true);                       // Ereignis aktivieren    }    else { if($debug) {echo "Ereignis bereits erstellt";    }   }
    }// ****************** Ende Erstinitialisierung *********************************
    // ******************* Start Berechnung ****************************************
    // Variablen IDs zuweisen und gegebenenfalls anlegen$Spannung_OK        = CreateVariableByName($parentID, "Busspannung OK",    "OK");$Leistung_OK      = CreateVariableByName($parentID, "Ueberlast",          "OK");$Busspannung_5V     = CreateVariableByName($parentID, "5V Busspannung",    "Volt");$Busspannung_12V    = CreateVariableByName($parentID, "12V Busspannung",    "Volt");$Busstrom_5V        = CreateVariableByName($parentID, "5V Strom",            "mA");$Busstrom_12V       = CreateVariableByName($parentID, "12V Strom",            "mA");$Leistung_Summe      = CreateVariableByName($parentID, "Leistung-Summe",    "W");
    // Grenzwerte für Gut-Erkennung$Grenzwert_5V = 4.50;$Grenzwert_12V = 11.5;
    //Berechung Busspannungen//******************************************************************if ($version == 1) {$bereich = 5.12 ; }if ($version == 2) {$bereich = 5.0 ;  }
    // 5V Spannung Berechnung$Bus_5V_Wert = (($bereich / 4096) * 1.11) * GetValue($DS2450_Port3);// 12V Spannung Berechnung$Bus_12V_Wert = (($bereich/ 4096) * 2.63) * GetValue($DS2450_Port1);
    // Errechneten Werte in Variable schreibenSetValue($Busspannung_5V, $Bus_5V_Wert);SetValue($Busspannung_12V, $Bus_12V_Wert);
    //Stromberechung//******************************************************************$widerstand = 49;                 // ermittelter Faktor für 0,22 Ohm Shunt
    //Ermittelter Faktor 5V und 0,22 Ohm Shunt$Busstrom_5V_1 = ($bereich / 4096) * (GetValue($DS2450_Port2) - $offset_Strom_5V) * $widerstand;//Ermittelter Faktor 12V und 0,22 Ohm Shunt$Busstrom_12V_1 = ($bereich / 4096) * (GetValue($DS2450_Port0) - $offset_Strom_12V) * $widerstand;
    // Errechnete Werte in Variablen speichernSetValue($Busstrom_5V, $Busstrom_5V_1);SetValue($Busstrom_12V, $Busstrom_12V_1);
    //Leisung Summenberechung//******************************************************************$Leistung = (($Busstrom_12V_1 * 0.001)* $Bus_12V_Wert) + (($Busstrom_5V_1 * 0.001) * $Bus_5V_Wert);SetValue($Leistung_Summe, $Leistung);
    //Ueberlasterkennungif ($Leistung > 4.5)  {    SetValue($Leistung_OK, false);    if($debug) { echo "Leistungsaufnahme ist kleiner 4,5W.\r\n"; } //Ausgabe    }else  {    SetValueBoolean($Leistung_OK, true);    if($debug) { echo "Ueberlastung !!\r\n"; }     //Ausgabe    }
    //Ausgabe Status der Busüberwachung//******************************************************************if (($Bus_5V_Wert <= $Grenzwert_5V) or ($Bus_12V_Wert <= $Grenzwert_12V))     {    SetValue($Spannung_OK, false);    if($debug) { echo "Busspannung ist o.k.\r\n"; } //Ausgabe    }else  {    SetValueBoolean($Spannung_OK, true);    if($debug) { echo "Busspannung ausserhalb des erlaubten Bereichs!!\r\n"; }     //Ausgabe    }// Ende Berechnung// ****************************************************************************


    // Funktionen// Variablen erstellen falls nicht vorhanden und ID entsprechend zuordnen// erstellt von IP-Symcon, angepasst von bbernhard und wgreiplfunction CreateVariableByName($id, $name, $type)    {    global $IPS_SELF;    global $ScriptID;    $vid = @IPS_GetVariableIDByName($name, $id);    if($vid === false) {        $vartype = 1;        if ($type == 'Volt') $vartype = 2;      if ($type == 'mA')     $vartype = 2;      if ($type == 'W')     $vartype = 2;      if ($type == 'OK')     $vartype = 0;
            $vid = IPS_CreateVariable($vartype);        IPS_SetParent($vid, $id);        IPS_SetName($vid, $name);        IPS_SetInfo($vid, "this variable was created by script #$IPS_SELF");
            if ($type == 'Volt')    {            IPS_SetVariableCustomProfile ($vid, "Busspannung");            IPS_SetPosition($vid, 10);            }        if ($type == 'mA') {            IPS_SetVariableCustomProfile ($vid, "Busstrom");            IPS_SetPosition($vid, 20);            }        if ($type == 'W')    {            IPS_SetVariableCustomProfile ($vid, "Leistung-Summe");            IPS_SetPosition($vid, 30);            }          if ($type == 'Ueberlast') {            IPS_SetVariableCustomProfile ($vid, "~Alert.Reversed");            IPS_SetVariableCustomAction($vid, $ScriptID);            IPS_SetPosition($vid, 5);            }        if ($type == 'OK') {            IPS_SetVariableCustomProfile ($vid, "~Alert.Reversed");            IPS_SetVariableCustomAction($vid, $ScriptID);            IPS_SetPosition($vid, 5);            }
            }return $vid;}
    // Eine Function um ein Script im Script-Verzeichnis zu erzeugen// erstellt von hirschbrat, angepasst wgreiplfunction CreateScriptByName($ScriptNAME, $ParentID, $ScriptTEXT)    {    global $IPS_SELF;    $ScriptID = @IPS_GetScriptIDByName($ScriptNAME, $ParentID);    if ($ScriptID == 0){        $ScriptID = IPS_CreateScript(0);        IPS_SetName($ScriptID, $ScriptNAME);        IPS_SetParent($ScriptID, $ParentID);        IPS_SetInfo($ScriptID, "This script was created by: #$IPS_SELF#");        $fh = fopen(IPS_GetKernelDir()."scripts\\".$ScriptID.".ips.php", 'w') or die("can't open file");        fwrite($fh, $ScriptTEXT);        fclose($fh);        $ScriptPath = $ScriptID.".ips.php";     //Skriptdatei        IPS_SetScriptFile($ScriptID, $ScriptPath);        IPS_SetHidden($ScriptID, true);        IPS_SetPosition($ScriptID, 98);        // echo "Die Skript-ID lautet: ". $ScriptID;    }return $ScriptID;}
    ?>
    EDIT: Habe jetzt mehrfach versucht, den Code halbwegs lesbar einzupasten, aber irgendwie erscheint der ohne vernünftige CRLFs. Sorry für die Lesbarkeit.
    Geändert von wupperi (30.03.15 um 07:28 Uhr)
    IPS Ninja \\ Webfront auf 15" ELO Touch \\ z-wave \\ IPS-868 \\ FS20 \\ 1-wire \\ Oregon WMRS200 \\ Mediaportal \\ 4x Squeezebox \\ SONOS \\ Denon AVR1912 \\ Kostal Piko 5.5 \\ 7x Vivotek \\ 1x INStar \\ Gardena R40Li mit Robonect HX30
    Mehr auf www.diewuppers.de

  5. #5
    Registriert seit
    Feb 2005
    Ort
    Lübeck
    Beiträge
    22,191

    Fix ist im LiveUpdate!

    paresy

  6. #6

    Geht bei mir wieder. Danke fürs schnelle fixen!
    IPS Ninja \\ Webfront auf 15" ELO Touch \\ z-wave \\ IPS-868 \\ FS20 \\ 1-wire \\ Oregon WMRS200 \\ Mediaportal \\ 4x Squeezebox \\ SONOS \\ Denon AVR1912 \\ Kostal Piko 5.5 \\ 7x Vivotek \\ 1x INStar \\ Gardena R40Li mit Robonect HX30
    Mehr auf www.diewuppers.de

  7. #7
    Registriert seit
    Mar 2010
    Beiträge
    12

    Standard 1-Wire Operation failed: conversion failed

    Bei mir kommt bei allen DS18x20 Sensoren die Fehlermeldung 1-Wire Operation failed: conversion failed.
    Es funktionieren aber alle Sensoren. Das Fix #3684 hat wohl noch nicht alles behoben.
    Hat eventuell noch jemand den Fehler?


    Matthias

  8. #8

    Habe ich auch noch.
    IPS Ninja \\ Webfront auf 15" ELO Touch \\ z-wave \\ IPS-868 \\ FS20 \\ 1-wire \\ Oregon WMRS200 \\ Mediaportal \\ 4x Squeezebox \\ SONOS \\ Denon AVR1912 \\ Kostal Piko 5.5 \\ 7x Vivotek \\ 1x INStar \\ Gardena R40Li mit Robonect HX30
    Mehr auf www.diewuppers.de

  9. #9
    Registriert seit
    Aug 2011
    Beiträge
    976

    Ich auch noch

    Bevor ich meine 1-wire-Verkabelung ganz aufreiße und die einzelnen Sensoren demontiere .... ist es realistisch das es am Update liegt? Wenn ja, dann würde ich damit nämlich warten und auf ein hotfix hoffen.

    hardlog
    Geändert von hardlog (01.04.15 um 15:51 Uhr)
    IPS 5.0unlim, 3x W&T WebIO12, diverse 1wire (LAN), FritzOS 7, z-Wave, DMX/ArtNet-Node, M-Bus, ESP8266 via MQTT

    "Prognosen sind schwierig, besonders wenn sie die Zukunft betreffen" N. Bohr

  10. #10
    Registriert seit
    Aug 2011
    Beiträge
    976

    jetzt wirds kryptisch:

    hab gerade einen der nicht mehr angezeigten Temp (DS18B20) - Sensoren ausgebaut und als einziges Modul an den Gateway angeschlossen und siehe da: Er geht alleine ABER die IPS-interne Zuordnung scheint plötzlich durcheinander zu sein?! Der Sensor der bisher (4 Jahre tadellos) als "Temp.Sensor Abluft Lütungsanlage" durchgegangen ist wird in IPS plötzlich als "Temp.Sensor Schlafzimmer" zugeordnet????????!!!!!!!! Hähhhhh? Es wurden KEIN neuen Senoren integriert oder getauscht! 1-wire-viewer zeigt alles korrekt an! Nur in IPS stimmt was nicht???!!!!

    Kann das jemand bestätigen und vielleicht auch lösen?

    Hardlog
    IPS 5.0unlim, 3x W&T WebIO12, diverse 1wire (LAN), FritzOS 7, z-Wave, DMX/ArtNet-Node, M-Bus, ESP8266 via MQTT

    "Prognosen sind schwierig, besonders wenn sie die Zukunft betreffen" N. Bohr

Ähnliche Themen

  1. PHP Module können nicht geladen werden.
    Von Flobo im Forum WebFront
    Antworten: 12
    Letzter Beitrag: 02.05.14, 07:27
  2. IPS schaltet über HM, aber Schalterzustände werden nicht mehr angezeigt
    Von critical_limit im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 4
    Letzter Beitrag: 17.04.13, 03:50
  3. Variablen werden geloggt aber nicht angezeigt.
    Von ThomasD im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 0
    Letzter Beitrag: 30.09.11, 07:55
  4. Werden Boolean Variabeln nicht als Link angezeigt??
    Von Professorakiera im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 2
    Letzter Beitrag: 26.10.10, 11:01
  5. Antworten: 17
    Letzter Beitrag: 30.09.10, 09:20