magcon

Erstellte Forenantworten

2 Beiträge anzeigen - 1 bis 2 (von insgesamt 2)
  • Autor
    Beiträge
  • als Antwort auf: FHEM und logocontroll #2851
    magcon
    Teilnehmer

    Hallo!

    Meine Herausforderung besteht darin, dass ich analoge Werte (Format WORD) von FHEM via logocontrol zur LOGO8 schreiben möchte. Versuche in verschiedene Richtungen scheiterten bisher. Die leider nicht funktionierende, mir am attraktivsten erscheinende Variante lautet wie folgt:

    package main;
    use strict;
    use warnings;
    use POSIX;
    sub
    myUtils_Initialize($$)
    {
     my ($hash) = @_;
    }
     
    ##########################################################
    # LogoControl Notify Handler
    #
    sub SetLogoControlState($)
    {
     my ($obj) = @_;
     my $comment = AttrVal($obj,"comment","");
     
     if ($comment =~ /LogoStateAddress=(\d+)\.(\d)/ ){
      my $url = "http://localhost:8088/rest/bytes/$1/bits/$2";
     
      if (Value($obj) eq "on" || Value($obj) eq "open"){
       GetFileFromURL($url."?set=1" );
      }
      elsif (Value($obj) eq "off" || Value($obj) eq "closed"){
       GetFileFromURL($url."?set=0" );
      } 
     }
     elsif ($comment =~ /LogoDeviceAttribut=(\d+)\.(\d)/ ){
      my $url = "http://localhost:8088/rest/devices/$1/attributes/$2";
      
      if (Value($obj) gt "-50"){
       GetFileFromURL($url."value?set=Value($obj)" );
      }
     }
     return,
    }
    1;

    Mit dem if-Bedingung und dem Vergleich, dass der Wert grösser als -50 sein soll, sollte nur den einen Hintergrund haben: Pseudetrigger.
    Kann mir jemand helfen?

    Grüsse MM

    als Antwort auf: upgrade auf logocontrol 0.5 #2834
    magcon
    Teilnehmer

    Hallo

    Erstmals Danke für deine geniale Idee und dein Engagement!!!
    Habe nun von V0.4.x auf V0.5.1 upgradet. Nun will logocontrol nicht mehr starten. In der Log-Datei steht folgendes:

    19/04/2016 16:41:45: Fehler beim Laden der config.xml: Failed to read typed value. Related schema item SourceUri: , Line 80, Position 7.
    System.Xml.Schema.XmlSchemaValidationException: Failed to read typed value. Related schema item SourceUri: , Line 80, Position 7. —> System.Xml.Schema.XmlSchemaValidationException: Two or more identical field was found. Related schema item SourceUri: , Line 80, Position 7.
    at Mono.Xml.Schema.XsdKeyEntryField.FillAttributeFieldValue (System.Object sender, System.Xml.XmlNameTable nameTable, System.String sourceUri, System.Object schemaType, IXmlNamespaceResolver nsResolver, System.Object identity, IXmlLineInfo lineInfo, Int32 depth) [0x00000] in <filename unknown>:0
    — End of inner exception stack trace —
    at Mono.Xml.Schema.XsdKeyEntryField.FillAttributeFieldValue (System.Object sender, System.Xml.XmlNameTable nameTable, System.String sourceUri, System.Object schemaType, IXmlNamespaceResolver nsResolver, System.Object identity, IXmlLineInfo lineInfo, Int32 depth) [0x00000] in <filename unknown>:0
    at Mono.Xml.Schema.XsdKeyEntryField.Matches (Boolean matchesAttr, System.Object sender, System.Xml.XmlNameTable nameTable, System.Collections.ArrayList qnameStack, System.String sourceUri, System.Object schemaType, IXmlNamespaceResolver nsResolver, IXmlLineInfo lineInfo, Int32 depth, System.String attrName, System.String attrNS, System.Object attrValue) [0x00000] in <filename unknown>:0
    at Mono.Xml.Schema.XsdKeyEntry.ProcessMatch (Boolean isAttribute, System.Collections.ArrayList qnameStack, System.Object sender, System.Xml.XmlNameTable nameTable, System.String sourceUri, System.Object schemaType, IXmlNamespaceResolver nsResolver, IXmlLineInfo li, Int32 depth, System.String attrName, System.String attrNS, System.Object attrValue, Boolean isXsiNil, System.Collections.ArrayList currentKeyFieldConsumers) [0x00000] in <filename unknown>:0
    at System.Xml.Schema.XmlSchemaValidator.ValidateKeyFields (Boolean isAttr, Boolean isNil, System.Object schemaType, System.String attrName, System.String attrNs, System.Object value) [0x00000] in <filename unknown>:0
    System.Xml.Schema.XmlSchemaValidationException: Two or more identical field was found. Related schema item SourceUri: , Line 80, Position 7.
    at Mono.Xml.Schema.XsdKeyEntryField.FillAttributeFieldValue (System.Object sender, System.Xml.XmlNameTable nameTable, System.String sourceUri, System.Object schemaType, IXmlNamespaceResolver nsResolver, System.Object identity, IXmlLineInfo lineInfo, Int32 depth) [0x00000] in <filename unknown>:0

    Meine config.xml sieht wie folgt aus:

    <?xml version=“1.0″ encoding=“utf-8″?>
    <configuration>
    <settings>
    <plc id=“UG“ type=“Logo8″ ip=“192.168.10.150″ />
    <plc id=“EG“ type=“Logo8″ ip=“192.168.10.151″ />
    <plc id=“OG“ type=“Logo8″ ip=“192.168.10.152″ />
    <tcpService port=“55000″ />
    <httpWebservice port=“8088″ />
    <httpsWebservice port=“8080″ username=““ passwordHash=““ hashSalt=““ />
    <valueTextConverter>
    <textMapping id=“homestatus“>
    <valueText value=“0″ text=“anwesend“ />
    <valueText value=“1″ text=“abwesend“ />
    </textMapping>
    <textMapping id=“OnOff“>
    <valueText value=“0″ text=“aus“ />
    <valueText value=“1″ text=“ein“ />
    </textMapping>
    <textMapping id=“wpstatus“>
    <valueText value=“0″ text=“n.a.“ />
    <valueText value=“1″ text=“heizen“ />
    <valueText value=“2″ text=“reduziert“ />
    <valueText value=“3″ text=“standby“ />
    <valueText value=“4″ text=“Automatik WP“ />
    </textMapping>
    <textMapping id=“jal“>
    <valueText value=“0″ text=“n.a.“ />
    <valueText value=“1″ text=“offen“ />
    <valueText value=“2″ text=“geschlossen“ />
    <valueText value=“3″ text=“Beschattung“ />
    <valueText value=“4″ text=“undefiniert“ />
    </textMapping>
    </valueTextConverter>
    </settings>
    <infrastructure>
    <group name=“Allgemein“>
    <group name=“Zentral“>
    <device id=“1″ name=“Anwesenheit“ type=“light“>
    <attribute id=“1″ name=“Status“ plc=“EG“ address=“NI1″ datatype=“bit“ valueTextConverter=“homestatus“ />
    <method id=“1″ name=“AnAbwesend“ plc=“EG“ address=“NI1″ />
    </device>
    <device id=“2″ name=“Betriebsart Wärmepumpe“ >
    <attribute id=“1″ name=“Status“ plc=“OG“ address=“NAQ5″ datatype=“word“ valueTextConverter=“wpstatus“ />
    </device>
    </group>
    <group name=“Wetterstation“>
    <device id=“3″ name=“Helligkeit Ost“ >
    <attribute id=“1″ name=“LUXost“ plc=“EG“ address=“NAI1″ datatype=“word“ gain=“1.0″ />
    </device>
    <device id=“4″ name=“Helligkeit Süd“ >
    <attribute id=“1″ name=“LUXsued“ plc=“EG“ address=“NAI2″ datatype=“word“ gain=“1.0″ />
    </device>
    <device id=“5″ name=“Helligkeit West“ >
    <attribute id=“1″ name=“LUXwest“ plc=“EG“ address=“NAI3″ datatype=“word“ gain=“1.0″ />
    </device>
    <device id=“6″ name=“Dämmerung“ >
    <attribute id=“1″ name=“Daemm“ plc=“EG“ address=“NI3″ datatype=“bit“ />
    </device>
    <device id=“7″ name=“Windgeschwindigkeit“ >
    <attribute id=“1″ name=“windspeed“ plc=“EG“ address=“NAI5″ datatype=“word“ gain=“1.0″ />
    </device>
    <device id=“8″ name=“Aussentemperatur“ >
    <attribute id=“1″ name=“TOa“ plc=“EG“ address=“NAI6″ datatype=“word“ gain=“1.0″ />
    </device>
    </group>
    <group name=“Jalousielogik“>
    <device id=“9″ name=“Auto AB Ost“ >
    <attribute id=“1″ name=“ABOst“ plc=“EG“ address=“NQ4″ datatype=“bit“ valueTextConverter=“OnOff“ />
    </device>
    <device id=“10″ name=“Auto AB Süd“ >
    <attribute id=“1″ name=“ABSued“ plc=“EG“ address=“NQ5″ datatype=“bit“ valueTextConverter=“OnOff“ />
    </device>
    <device id=“11″ name=“Auto AB West“ >
    <attribute id=“1″ name=“ABWest“ plc=“EG“ address=“NQ6″ datatype=“bit“ valueTextConverter=“OnOff“ />
    </device>
    <device id=“12″ name=“Reset man. Betrieb“ >
    <attribute id=“1″ name=“Status“ plc=“EG“ address=“NI2″ datatype=“bit“ valueTextConverter=“OnOff“ />
    <method id=“1″ name=“Freigabe“ plc=“EG“ address=“NI2″ />
    </device>
    </group>
    </group>
    <group name=“EG“>
    <group name=“Entree“>
    <device id=“13″ name=“Licht“ type=“light“>
    <attribute id=“1″ name=“Status“ plc=“EG“ address=“Q1″ datatype=“bit“ valueTextConverter=“OnOff“ />
    </device>
    </group>
    <group name=“Büro“>
    <device id=“14″ name=“Raumtemperatur“>
    <attribute id=“1″ name=“TR“ plc=“UG“ address=“AI1″ datatype=“word“ gain=“0.25″ offset=“-50″ />
    </device>
    <device id=“15″ name=“Sollwert Nacht/Abwes.“>
    <attribute id=“1″ name=“SpV2″ plc=“UG“ address=“42″ datatype=“word“ gain=“0.1″ offset=“0″ />
    </device>
    <device id=“16″ name=“Sollwert Tag“>
    <attribute id=“1″ name=“SpV3″ plc=“UG“ address=“44″ datatype=“word“ gain=“0.1″ offset=“0″ />
    </device>
    <device id=“17″ name=“Wirkender Sollwert“>
    <attribute id=“1″ name=“SpEff“ plc=“UG“ address=“8″ datatype=“word“ gain=“0.1″ />
    </device>
    <device id=“18″ name=“Ventilstellung“>
    <attribute id=“1″ name=“YCtrl“ plc=“UG“ address=“10″ datatype=“word“ gain=“0.1″ />
    </device>
    <device id=“19″ name=“Jalousie“>
    <attribute id=“1″ name=“Status“ plc=“EG“ address=“NAQ6″ datatype=“word“ valueTextConverter=“jal“ />
    </device>
    </group>
    <group name=“Küche“>
    <device id=“20″ name=“Licht“ type=“light“>
    <attribute id=“1″ name=“Status“ plc=“EG“ address=“Q2″ datatype=“bit“ valueTextConverter=“OnOff“ />
    </device>
    <device id=“21″ name=“Jalousie“>
    <attribute id=“1″ name=“Status“ plc=“EG“ address=“NAQ1″ datatype=“word“ valueTextConverter=“jal“ />
    </device>
    </group>
    <group name=“Wohnen“>
    <device id=“22″ name=“Licht Esstisch“ type=“light“>
    <attribute id=“1″ name=“Status“ plc=“EG“ address=“Q3″ datatype=“bit“ valueTextConverter=“OnOff“ />
    </device>
    <device id=“23″ name=“Licht Wohnen“ type=“light“>
    <attribute id=“1″ name=“Status“ plc=“EG“ address=“Q4″ datatype=“bit“ valueTextConverter=“OnOff“ />
    </device>
    <device id=“24″ name=“Licht Wohnen Wand“ type=“light“>
    <attribute id=“1″ name=“Status“ plc=“EG“ address=“Q5″ datatype=“bit“ valueTextConverter=“OnOff“ />
    </device>
    <device id=“25″ name=“Raumtemperatur“>
    <attribute id=“1″ name=“TR“ plc=“UG“ address=“AI2″ datatype=“word“ gain=“0.25″ offset=“-50″ />
    </device>
    <device id=“26″ name=“Sollwert Nacht/Abwes.“>
    <attribute id=“1″ name=“SpV2″ plc=“UG“ address=“48″ datatype=“word“ gain=“0.1″ offset=“0″ />
    </device>
    <device id=“27″ name=“Sollwert Tag“>
    <attribute id=“1″ name=“SpV3″ plc=“UG“ address=“50″ datatype=“word“ gain=“0.1″ offset=“0″ />
    </device>
    <device id=“28″ name=“Wirkender Sollwert“>
    <attribute id=“1″ name=“SpEff“ plc=“UG“ address=“16″ datatype=“word“ gain=“0.1″ />
    </device>
    <device id=“29″ name=“Ventilstellung“>
    <attribute id=“1″ name=“YCtrl“ plc=“UG“ address=“18″ datatype=“word“ gain=“0.1″ />
    </device>
    <device id=“30″ name=“Jalousie süd links“>
    <attribute id=“1″ name=“Status“ plc=“EG“ address=“NAQ3″ datatype=“word“ valueTextConverter=“jal“ />
    </device>
    <device id=“31″ name=“Jalousie süd Mitte“>
    <attribute id=“1″ name=“Status“ plc=“EG“ address=“NAQ4″ datatype=“word“ valueTextConverter=“jal“ />
    </device>
    <device id=“32″ name=“Jalousie süd rechts“>
    <attribute id=“1″ name=“Status“ plc=“EG“ address=“NAQ5″ datatype=“word“ valueTextConverter=“jal“ />
    </device>
    <device id=“33″ name=“Jalousie west“>
    <attribute id=“1″ name=“Status“ plc=“EG“ address=“NAQ2″ datatype=“word“ valueTextConverter=“jal“ />
    </device>
    </group>
    <group name=“Aussen“>
    <device id=“34″ name=“Licht Wand süd“ type=“light“>
    <attribute id=“1″ name=“Status“ plc=“EG“ address=“Q6″ datatype=“bit“ valueTextConverter=“OnOff“ />
    </device>
    <device id=“35″ name=“Licht Spot süd“ type=“light“>
    <attribute id=“1″ name=“Status“ plc=“EG“ address=“Q8″ datatype=“bit“ valueTextConverter=“OnOff“ />
    </device>
    <device id=“36″ name=“Licht Carport“ type=“light“>
    <attribute id=“1″ name=“Status“ plc=“EG“ address=“Q7″ datatype=“bit“ valueTextConverter=“OnOff“ />
    </device>
    </group>
    </group>
    <group name=“OG“>
    <group name=“Kinderbad“>
    <device id=“37″ name=“Raumtemperatur“>
    <attribute id=“1″ name=“TR“ plc=“UG“ address=“AI3″ datatype=“word“ gain=“0.25″ offset=“-50″ />
    </device>
    <device id=“38″ name=“Sollwert Nacht/Abwes.“>
    <attribute id=“1″ name=“SpV2″ plc=“UG“ address=“54″ datatype=“word“ gain=“0.1″ offset=“0″ />
    </device>
    <device id=“39″ name=“Sollwert Tag“>
    <attribute id=“1″ name=“SpV3″ plc=“UG“ address=“56″ datatype=“word“ gain=“0.1″ offset=“0″ />
    </device>
    <device id=“40″ name=“Wirkender Sollwert“>
    <attribute id=“1″ name=“SpEff“ plc=“UG“ address=“24″ datatype=“word“ gain=“0.1″ />
    </device>
    <device id=“41″ name=“Ventilstellung“>
    <attribute id=“1″ name=“YCtrl“ plc=“UG“ address=“26″ datatype=“word“ gain=“0.1″ />
    </device>
    </group>
    <group name=“Gästezimmer Zi.1″>
    <device id=“42″ name=“Raumtemperatur“>
    <attribute id=“1″ name=“TR“ plc=“UG“ address=“AI4″ datatype=“word“ gain=“0.25″ offset=“-50″ />
    </device>
    <device id=“43″ name=“Sollwert Nacht/Abwes.“>
    <attribute id=“1″ name=“SpV2″ plc=“UG“ address=“60″ datatype=“word“ gain=“0.1″ offset=“0″ />
    </device>
    <device id=“44″ name=“Sollwert Tag“>
    <attribute id=“1″ name=“SpV3″ plc=“UG“ address=“62″ datatype=“word“ gain=“0.1″ offset=“0″ />
    </device>
    <device id=“45″ name=“Wirkender Sollwert“>
    <attribute id=“1″ name=“SpEff“ plc=“UG“ address=“32″ datatype=“word“ gain=“0.1″ />
    </device>
    <device id=“46″ name=“Ventilstellung“>
    <attribute id=“1″ name=“YCtrl“ plc=“UG“ address=“34″ datatype=“word“ gain=“0.1″ />
    </device>
    <device id=“47″ name=“Jalousie“>
    <attribute id=“1″ name=“Status“ plc=“OG“ address=“NAQ1″ datatype=“word“ valueTextConverter=“jal“ />
    </device>
    </group>
    <group name=“Kinderzimmer Mario Zi.2″>
    <device id=“48″ name=“Raumtemperatur“>
    <attribute id=“1″ name=“TR“ plc=“UG“ address=“AI5″ datatype=“word“ gain=“0.25″ offset=“-50″ />
    </device>
    <device id=“49″ name=“Sollwert Nacht/Abwes.“>
    <attribute id=“1″ name=“SpV2″ plc=“UG“ address=“66″ datatype=“word“ gain=“0.1″ offset=“0″ />
    </device>
    <device id=“50″ name=“Sollwert Tag“>
    <attribute id=“1″ name=“SpV3″ plc=“UG“ address=“68″ datatype=“word“ gain=“0.1″ offset=“0″ />
    </device>
    <device id=“51″ name=“Wirkender Sollwert“>
    <attribute id=“1″ name=“SpEff“ plc=“UG“ address=“12″ datatype=“word“ gain=“0.1″ />
    </device>
    <device id=“52″ name=“Ventilstellung“>
    <attribute id=“1″ name=“YCtrl“ plc=“OG“ address=“14″ datatype=“word“ gain=“0.1″ />
    </device>
    <device id=“53″ name=“Jalousie“>
    <attribute id=“1″ name=“Status“ plc=“OG“ address=“NAQ2″ datatype=“word“ valueTextConverter=“jal“ />
    </device>
    </group>
    <group name=“Kinderzimmer Laura Zi.3″>
    <device id=“54″ name=“Raumtemperatur“>
    <attribute id=“1″ name=“TR“ plc=“UG“ address=“AI6″ datatype=“word“ gain=“0.25″ offset=“-50″ />
    </device>
    <device id=“55″ name=“Sollwert Nacht/Abwes.“>
    <attribute id=“1″ name=“SpV2″ plc=“UG“ address=“72″ datatype=“word“ gain=“0.1″ offset=“0″ />
    </device>
    <device id=“56″ name=“Sollwert Tag“>
    <attribute id=“1″ name=“SpV3″ plc=“UG“ address=“74″ datatype=“word“ gain=“0.1″ offset=“0″ />
    </device>
    <device id=“57″ name=“Wirkender Sollwert“>
    <attribute id=“1″ name=“SpEff“ plc=“UG“ address=“20″ datatype=“word“ gain=“0.1″ />
    </device>
    <device id=“58″ name=“Ventilstellung“>
    <attribute id=“1″ name=“YCtrl“ plc=“UG“ address=“22″ datatype=“word“ gain=“0.1″ />
    </device>
    <device id=“59″ name=“Jalousie“>
    <attribute id=“1″ name=“Status“ plc=“OG“ address=“NAQ3″ datatype=“word“ valueTextConverter=“jal“ />
    </device>
    </group>
    <group name=“Eltern“>
    <device id=“60″ name=“Licht“ type=“light“>
    <attribute id=“1″ name=“Status“ plc=“OG“ address=“Q1″ datatype=“bit“ valueTextConverter=“OnOff“ />
    </device>
    <device id=“61″ name=“Raumtemperatur“>
    <attribute id=“1″ name=“TR“ plc=“UG“ address=“AI7″ datatype=“word“ gain=“0.25″ offset=“-50″ />
    </device>
    <device id=“62″ name=“Sollwert Nacht/Abwes.“>
    <attribute id=“1″ name=“SpV2″ plc=“UG“ address=“78″ datatype=“word“ gain=“0.1″ offset=“0″ />
    </device>
    <device id=“62″ name=“Sollwert Tag“>
    <attribute id=“1″ name=“SpV3″ plc=“UG“ address=“80″ datatype=“word“ gain=“0.1″ offset=“0″ />
    </device>
    <device id=“63″ name=“Wirkender Sollwert“>
    <attribute id=“1″ name=“SpEff“ plc=“UG“ address=“28″ datatype=“word“ gain=“0.1″ />
    </device>
    <device id=“64″ name=“Ventilstellung“>
    <attribute id=“1″ name=“YCtrl“ plc=“UG“ address=“30″ datatype=“word“ gain=“0.1″ />
    </device>
    <device id=“65″ name=“Jalousie“>
    <attribute id=“1″ name=“Status“ plc=“OG“ address=“NAQ4″ datatype=“word“ valueTextConverter=“jal“ />
    </device>
    </group>
    <group name=“Eltern Bad“>
    <device id=“66″ name=“Raumtemperatur“>
    <attribute id=“1″ name=“TR“ plc=“UG“ address=“AI8″ datatype=“word“ gain=“0.25″ offset=“-50″ />
    </device>
    <device id=“67″ name=“Sollwert Nacht/Abwes.“>
    <attribute id=“1″ name=“SpV2″ plc=“UG“ address=“84″ datatype=“word“ gain=“0.1″ offset=“0″ />
    </device>
    <device id=“68″ name=“Sollwert Tag“>
    <attribute id=“1″ name=“SpV3″ plc=“UG“ address=“86″ datatype=“word“ gain=“0.1″ offset=“0″ />
    </device>
    <device id=“69″ name=“Wirkender Sollwert“>
    <attribute id=“1″ name=“SpEff“ plc=“UG“ address=“36″ datatype=“word“ gain=“0.1″ />
    </device>
    <device id=“70″ name=“Ventilstellung“>
    <attribute id=“1″ name=“YCtrl“ plc=“UG“ address=“38″ datatype=“word“ gain=“0.1″ />
    </device>
    </group>
    <group name=“Korridor“>
    <device id=“71″ name=“Licht“ type=“light“>
    <attribute id=“1″ name=“Status“ plc=“OG“ address=“Q2″ datatype=“bit“ valueTextConverter=“OnOff“ />
    </device>
    </group>
    </group>
    </infrastructure>
    </configuration>


    Kannst du mir helfen? Komme leider nicht mehr weiter…
    Grüsse

    Fehler gefunden. Doppelte Device-ID…

    • Diese Antwort wurde vor vor 8 Jahren, 8 Monaten von magcon bearbeitet. Grund: Fehler gefunden...!
2 Beiträge anzeigen - 1 bis 2 (von insgesamt 2)