Eedomus + esp8266 : retour http gpio

Eedomus + esp8266 : retour http gpio
0

Bonjour,

Je souhaiterai connaitre l’état d’une input d’un ESP8266 sur l’eedomus.

J’arrive bien à commander des sorties relais par le biais de la commande
http//IP-du-ESP8266/control?cmd=gpio,15,1

Mais je n’arrive pas à récuperer l’état des entrées (exemple gpio qui est en input)
J’ai également un capteur de température sur gpio2

Quelqu’un peut m’aider?

En vous remerciant d’avance.

Mick

salut @mickmac59 c’est en passant par l’eedomus ou sans que tu ne récupères rien ?

Bonsoir hotfirenet

Merci beaucoup de s’intéresser à mon problème.
C’est sympa.

Je n’arrive pas à récupérer les infos sur l’eedomus. Je comprends pas comment récupérer les infos.

est ce que tu peux me donner le contenu de retour de ton esp ? depuis l’url que tu tapes ?

Quand je tape l’url dans mon navigateur, j’arrive sur la page du server

Et je souhaite récupérer la valeur des input (ici de 1 à 4) + Temp dans l’eedomus

J’ai créé un capteur http dans eedomus

Et en testant le xpath, je n’arrive pas à avoir le retour (exemple pour la température). Je me trompe surement de valeur ou de chemin

tu n’as pas moyen de sortir de la data au format json ?
ou texte brut ?

regarde par la :
https://www.letscontrolit.com/wiki/index.php/ESP_Easy_web_interface#JSON_page_.28hidden_prior_to_version_2.0.2B.29

Puis tu pourras utiliser xPath en convertissant le json en xml. Pour cela il faut cocher la case “Convertir le JSON en XML” dans les options experts de ton capteur.

et ca devrait le faire.

OK. J’ai su convertir en JSON.
56

Après, je pense que ma méconnaissance en XPATH m’empêche d’écrire la bonne syntaxe.

Si je comprends bien le code, je crois que j’isole la tache n°8 et j’obtiens le code suivant:

<TaskNumber>
8
</TaskNumber>
</Sensors>
<Sensors>
<TaskValues>
<Sensors>
<ValueNumber>
1
</ValueNumber>
<Name>
Temperature
</Name>
<NrDecimals>
2
</NrDecimals>
<Value>
19.87
</Value>
</Sensors>
</TaskValues>

Quelle serait la syntaxe XPATH pour récupérer le 19,87?

tu peux retourner l’ensemble du résultat ?

Salut,

Voici le code:

<?xml version="1.0" encoding="ISO-8859-1"?>
    <root><System>
    <Build>
    20102
    </Build>
    <Git_Build>
    mega-20180524
    </Git_Build>
    <System_libraries>
    ESP82xx Core 2_4_1, NONOS SDK 2.2.1(cfd48f3), LWIP: 2.0.3
    </System_libraries>
    <Plugins>
    47
    </Plugins>
    <Plugin_description>
     [Normal]
    </Plugin_description>
    <Local_time>
    2018-06-26 00:45:11
    </Local_time>
    <Unit>
    8
    </Unit>
    <Name>
    ESP_Easy
    </Name>
    <Uptime>
    46
    </Uptime>
    <Last_boot_cause>
    Cold boot
    </Last_boot_cause>
    <Reset_Reason>
    External System
    </Reset_Reason>
    <Load>
    13
    </Load>
    <Load_LC>
    8477
    </Load_LC>
    <Free_RAM>
    18272
    </Free_RAM>
    </System>
    <WiFi>
    <Hostname>
    ESP-Easy-8
    </Hostname>
    <IP_config>
    Static
    </IP_config>
    <IP>
    192.168.0.166
    </IP>
    <Subnet_Mask>
    255.255.255.0
    </Subnet_Mask>
    <Gateway_IP>
    192.168.0.1
    </Gateway_IP>
    <MAC_address>
    B4:E3:2D:69:2E:F1
    </MAC_address>
    <DNS_1>
    192.168.0.1
    </DNS_1>
    <DNS_2>
    0.0.0.0
    </DNS_2>
    <SSID>
    SSIDWIFI
    </SSID>
    <BSSID>
    00:35:36:DA:26:98
    </BSSID>
    <Channel>
    1
    </Channel>
    <Connected_msec>
    2764599
    </Connected_msec>
    <Last_Disconnect_Reason>
    8
    </Last_Disconnect_Reason>
    <Last_Disconnect_Reason_str>
    (8) Assoc leave
    </Last_Disconnect_Reason_str>
    <Number_reconnects>
    1
    </Number_reconnects>
    <RSSI>
    -58
    </RSSI>
    </WiFi>
    <Sensors>
    <Sensors>
    <TaskValues>
    <Sensors>
    <ValueNumber>
    1
    </ValueNumber>
    <Name>
    Switch1
    </Name>
    <NrDecimals>
    0
    </NrDecimals>
    <Value>
    0
    </Value>
    </Sensors>
    </TaskValues>
    <DataAcquisition>
    <Sensors>
    <Controller>
    1
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    true
    </Enabled>
    </Sensors>
    <Sensors>
    <Controller>
    2
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    false
    </Enabled>
    </Sensors>
    <Sensors>
    <Controller>
    3
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    false
    </Enabled>
    </Sensors>
    </DataAcquisition>
    <TaskInterval>
    0
    </TaskInterval>
    <Type>
    Switch input - Switch
    </Type>
    <TaskName>
    Input1
    </TaskName>
    <TaskEnabled>
    true
    </TaskEnabled>
    <TaskNumber>
    1
    </TaskNumber>
    </Sensors>
    <Sensors>
    <TaskValues>
    <Sensors>
    <ValueNumber>
    1
    </ValueNumber>
    <Name>
    Switch2
    </Name>
    <NrDecimals>
    0
    </NrDecimals>
    <Value>
    0
    </Value>
    </Sensors>
    </TaskValues>
    <DataAcquisition>
    <Sensors>
    <Controller>
    1
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    true
    </Enabled>
    </Sensors>
    <Sensors>
    <Controller>
    2
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    false
    </Enabled>
    </Sensors>
    <Sensors>
    <Controller>
    3
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    false
    </Enabled>
    </Sensors>
    </DataAcquisition>
    <TaskInterval>
    0
    </TaskInterval>
    <Type>
    Switch input - Switch
    </Type>
    <TaskName>
    Input2
    </TaskName>
    <TaskEnabled>
    true
    </TaskEnabled>
    <TaskNumber>
    2
    </TaskNumber>
    </Sensors>
    <Sensors>
    <TaskValues>
    <Sensors>
    <ValueNumber>
    1
    </ValueNumber>
    <Name>
    Switch3
    </Name>
    <NrDecimals>
    0
    </NrDecimals>
    <Value>
    1
    </Value>
    </Sensors>
    </TaskValues>
    <DataAcquisition>
    <Sensors>
    <Controller>
    1
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    true
    </Enabled>
    </Sensors>
    <Sensors>
    <Controller>
    2
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    false
    </Enabled>
    </Sensors>
    <Sensors>
    <Controller>
    3
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    false
    </Enabled>
    </Sensors>
    </DataAcquisition>
    <TaskInterval>
    0
    </TaskInterval>
    <Type>
    Switch input - Switch
    </Type>
    <TaskName>
    Input3
    </TaskName>
    <TaskEnabled>
    true
    </TaskEnabled>
    <TaskNumber>
    3
    </TaskNumber>
    </Sensors>
    <Sensors>
    <TaskValues>
    <Sensors>
    <ValueNumber>
    1
    </ValueNumber>
    <Name>
    Switch4
    </Name>
    <NrDecimals>
    0
    </NrDecimals>
    <Value>
    0
    </Value>
    </Sensors>
    </TaskValues>
    <DataAcquisition>
    <Sensors>
    <Controller>
    1
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    true
    </Enabled>
    </Sensors>
    <Sensors>
    <Controller>
    2
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    false
    </Enabled>
    </Sensors>
    <Sensors>
    <Controller>
    3
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    false
    </Enabled>
    </Sensors>
    </DataAcquisition>
    <TaskInterval>
    0
    </TaskInterval>
    <Type>
    Switch input - Switch
    </Type>
    <TaskName>
    Input4
    </TaskName>
    <TaskEnabled>
    true
    </TaskEnabled>
    <TaskNumber>
    4
    </TaskNumber>
    </Sensors>
    <Sensors>
    <TaskValues>
    <Sensors>
    <ValueNumber>
    1
    </ValueNumber>
    <Name>
    Rel1
    </Name>
    <NrDecimals>
    0
    </NrDecimals>
    <Value>
    0
    </Value>
    </Sensors>
    </TaskValues>
    <DataAcquisition>
    <Sensors>
    <Controller>
    1
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    true
    </Enabled>
    </Sensors>
    <Sensors>
    <Controller>
    2
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    false
    </Enabled>
    </Sensors>
    <Sensors>
    <Controller>
    3
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    false
    </Enabled>
    </Sensors>
    </DataAcquisition>
    <TaskInterval>
    0
    </TaskInterval>
    <Type>
    Switch input - Switch
    </Type>
    <TaskName>
    relais1
    </TaskName>
    <TaskEnabled>
    true
    </TaskEnabled>
    <TaskNumber>
    5
    </TaskNumber>
    </Sensors>
    <Sensors>
    <TaskValues>
    <Sensors>
    <ValueNumber>
    1
    </ValueNumber>
    <Name>
    Rel2
    </Name>
    <NrDecimals>
    0
    </NrDecimals>
    <Value>
    0
    </Value>
    </Sensors>
    </TaskValues>
    <DataAcquisition>
    <Sensors>
    <Controller>
    1
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    true
    </Enabled>
    </Sensors>
    <Sensors>
    <Controller>
    2
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    false
    </Enabled>
    </Sensors>
    <Sensors>
    <Controller>
    3
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    false
    </Enabled>
    </Sensors>
    </DataAcquisition>
    <TaskInterval>
    0
    </TaskInterval>
    <Type>
    Switch input - Switch
    </Type>
    <TaskName>
    relais2
    </TaskName>
    <TaskEnabled>
    true
    </TaskEnabled>
    <TaskNumber>
    6
    </TaskNumber>
    </Sensors>
    <Sensors>
    <TaskValues>
    <Sensors>
    <ValueNumber>
    1
    </ValueNumber>
    <Name>
    Rel3
    </Name>
    <NrDecimals>
    0
    </NrDecimals>
    <Value>
    0
    </Value>
    </Sensors>
    </TaskValues>
    <DataAcquisition>
    <Sensors>
    <Controller>
    1
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    true
    </Enabled>
    </Sensors>
    <Sensors>
    <Controller>
    2
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    false
    </Enabled>
    </Sensors>
    <Sensors>
    <Controller>
    3
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    false
    </Enabled>
    </Sensors>
    </DataAcquisition>
    <TaskInterval>
    0
    </TaskInterval>
    <Type>
    Switch input - Switch
    </Type>
    <TaskName>
    relais3
    </TaskName>
    <TaskEnabled>
    true
    </TaskEnabled>
    <TaskNumber>
    7
    </TaskNumber>
    </Sensors>
    <Sensors>
    <TaskValues>
    <Sensors>
    <ValueNumber>
    1
    </ValueNumber>
    <Name>
    Rel4
    </Name>
    <NrDecimals>
    0
    </NrDecimals>
    <Value>
    0
    </Value>
    </Sensors>
    </TaskValues>
    <DataAcquisition>
    <Sensors>
    <Controller>
    1
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    true
    </Enabled>
    </Sensors>
    <Sensors>
    <Controller>
    2
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    false
    </Enabled>
    </Sensors>
    <Sensors>
    <Controller>
    3
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    false
    </Enabled>
    </Sensors>
    </DataAcquisition>
    <TaskInterval>
    0
    </TaskInterval>
    <Type>
    Switch input - Switch
    </Type>
    <TaskName>
    relais4
    </TaskName>
    <TaskEnabled>
    true
    </TaskEnabled>
    <TaskNumber>
    8
    </TaskNumber>
    </Sensors>
    <Sensors>
    <TaskValues>
    <Sensors>
    <ValueNumber>
    1
    </ValueNumber>
    <Name>
    Temperature
    </Name>
    <NrDecimals>
    2
    </NrDecimals>
    <Value>
    19.87
    </Value>
    </Sensors>
    </TaskValues>
    <DataAcquisition>
    <Sensors>
    <Controller>
    1
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    true
    </Enabled>
    </Sensors>
    <Sensors>
    <Controller>
    2
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    false
    </Enabled>
    </Sensors>
    <Sensors>
    <Controller>
    3
    </Controller>
    <IDX>
    0
    </IDX>
    <Enabled>
    false
    </Enabled>
    </Sensors>
    </DataAcquisition>
    <TaskInterval>
    20
    </TaskInterval>
    <Type>
    Environment - DS18b20
    </Type>
    <TaskName>
    Temp
    </TaskName>
    <TaskEnabled>
    true
    </TaskEnabled>
    <TaskNumber>
    9
    </TaskNumber>
    </Sensors>
    </Sensors>
    <TTL>
    20000
    </TTL>
    </root>

Salut @Hotfirenet
Le code te convient?
Tu penses pouvoir m’aider?

Je te remercie d’avance.

A +

tu peux me donner le résultat de http://192.168.0.166/json?tasknr=8

ça évitera de tout devoir parser.

sinon tu fais:

//Sensors[9]/TaskValues/Sensors/Value

du coup il ne te reste plus qu’a suivre les indications: https://doc.eedomus.com/view/Capteurs_HTTP

++

@mickmac59 c’est good ou pas ?

Salut!

C’est tout good ! :hugs:
Je te remercie sincèrement de m’avoir aidé.C’est super cool!
Je peux maintenant m’atteler à mes scénarii

A une prochaine

Hello,
c’est quoi ce truc ? Esp8286 ?