IoT-Guru ihmettelyt ja muu mqtt-höpinä

markok

Aktiivinen jäsen
OpenDTU tukee ainakin jollain tavalla HA:ta ja tuota olisi tarkoitus jossain vaiheessa kokeilla. En tosin ole koskaan tehnyt HA:lla MQTT ohjauksia niin saa nähdä mihin taidot riittävät. Aika huonosti on laitteen kehittäjäkään kertonut mitä tietoja MQTT:lla saa tuohon välitettyä ja onnistuuko edes tällainen tehonsäätö.
 

iro

Vakionaama
OpenDTU tukee ainakin jollain tavalla HA:ta ja tuota olisi tarkoitus jossain vaiheessa kokeilla. En tosin ole koskaan tehnyt HA:lla MQTT ohjauksia niin saa nähdä mihin taidot riittävät. Aika huonosti on laitteen kehittäjäkään kertonut mitä tietoja MQTT:lla saa tuohon välitettyä ja onnistuuko edes tällainen tehonsäätö.
Tätä on kiva ideoida kun en tiedä asiasta mitään:)

OpenDTU MQTT-topic'it on dokumentoitu täällä. https://tbnobody.github.io/OpenDTU-docs/firmware/mqtt_topics/
Jos laittaa oman MQTT-brokerin ja konffaa OpenDTU.n MQTT-liikenteen sinne pääsee MQTT-Explorerilla näkemään mitä OpenDTU lähettää ja voi myös generoida MQTT-komentoja OpenDTU:lle. Myös Shellyn voi liittää systeemiin ja katsoa meneekö Shellyn komento OpenDTU:lle.
 

markok

Aktiivinen jäsen
Olin juuri tulossa linkkaamaan tuota samaa, kun itsekin tuon juuri löysin. Dokumentaatiota löytyy tällainen topic "[serial]/cmd/limit_persistent_absolute". Tuosta nyt ilmeisesti voi päätellä sen, että säätö on MQTT:llä mahdollista. Testauksia hankaloittaa hieman se, että paneleilta pitää olla tuottoa ennen kuin openDTU toimii. Pitää yrittää tuota tehtailla heti kun mahdollista.

Samasta paikasta löytyi myös webAPI dokumentaatio. Hirveästi en asiasta ymmärrä, mutta olisikohan ohjaus tehtävissä myös Shelly scriptillä tätä hyödyntäen?

@iro :lle kiitos ideoinnista, vaikka kumpikaan ei paljoa openDTU:sta ymmärrä. Toinen meistä kuitenkin ymmärtää toista enemmän MQTT:stä
 

iro

Vakionaama
Olin juuri tulossa linkkaamaan tuota samaa, kun itsekin tuon juuri löysin. Dokumentaatiota löytyy tällainen topic "[serial]/cmd/limit_persistent_absolute". Tuosta nyt ilmeisesti voi päätellä sen, että säätö on MQTT:llä mahdollista. Testauksia hankaloittaa hieman se, että paneleilta pitää olla tuottoa ennen kuin openDTU toimii. Pitää yrittää tuota tehtailla heti kun mahdollista.

Samasta paikasta löytyi myös webAPI dokumentaatio. Hirveästi en asiasta ymmärrä, mutta olisikohan ohjaus tehtävissä myös Shelly scriptillä tätä hyödyntäen?

@iro :lle kiitos ideoinnista, vaikka kumpikaan ei paljoa openDTU:sta ymmärrä. Toinen meistä kuitenkin ymmärtää toista enemmän MQTT:stä
Ilmeisesti Shellyn näkemä tehonkulutus täytyy skaalata arvoalueelle 0-100, joka sitten lähetetään MQTT viestinä openDTUlle topicissa [serial]/cmd/limit_persistent_absolute". MQTT-sanoman lähetys Shellystä onnistuu samalla tavalla kuin aiemmassa esimerkissä lähetys IoT-Gurulle. En tiedä kuinka tehon skaalaus tehdään skriptissä, mutta uskoisin että se on tehtävissä. OpenDTU:n kiinteän topic-rakenteen vuoksi homma ei toimi IoT-Gurun kanssa,, mutta hoituisi Raspin MQTT-serverin kautta.
 

markok

Aktiivinen jäsen
Ilmeisesti Shellyn näkemä tehonkulutus täytyy skaalata arvoalueelle 0-100, joka sitten lähetetään MQTT viestinä openDTUlle topicissa [serial]/cmd/limit_persistent_absolute". MQTT-sanoman lähetys Shellystä onnistuu samalla tavalla kuin aiemmassa esimerkissä lähetys IoT-Gurulle. En tiedä kuinka tehon skaalaus tehdään skriptissä, mutta uskoisin että se on tehtävissä. OpenDTU:n kiinteän topic-rakenteen vuoksi homma ei toimi IoT-Gurun kanssa,, mutta hoituisi Raspin MQTT-serverin kautta.
Topicien listassa on myös "[serial]/cmd/limit_persistent_relative" mikä ilmeisesti toimii suoraan W arvoilla. Tuolla saattaisi olla helpompi tehdä ohjaus. Pitää varmaan ensiksi perehtyä tuohon MQTT-Exploreriin jos sillä saa ajettua käsin käskyjä laitteelle, niin näkee saako sen osuuden toimimaan.
 

iro

Vakionaama
Topicien listassa on myös "[serial]/cmd/limit_persistent_relative" mikä ilmeisesti toimii suoraan W arvoilla. Tuolla saattaisi olla helpompi tehdä ohjaus. Pitää varmaan ensiksi perehtyä tuohon MQTT-Exploreriin jos sillä saa ajettua käsin käskyjä laitteelle, niin näkee saako sen osuuden toimimaan.
MQTT-Explorer on kätevä ja helppokäyttöinen MQTT-client. Sillä ei kuitenkaan voi kommunikoida toisen clientin kanssa suoraan vaan välille tarvitaan MQTT-serveri. Jos sinulla ei ole tuollaista voit testatessa käyttää Mosquitton testi-serveriä
https://test.mosquitto.org/. En nyt muista olenko kokeillut tuota, mutta ymmärtääkseni pitäisi olla käyttökelpoinen.
 

Kidov

Jäsen
Onnistuuko IoT-Gurun käyttäminen Home Assistantin kanssa? Lisäsin IoT-Guruun Home Assistant laitteen ja koitin lisätä MQTT integraatiota Home Assistanttiin, mutta en keksinyt mitä tietoja liitteenä olevaan ikkunaan pitäisi laittaa. Tarkoitus olisi saada Mitsurunnerin data näkyviin myös Home Assistantissa.
 

Liitteet

  • Screenshot_20240219_113643.png
    Screenshot_20240219_113643.png
    30,7 KB · Katsottu: 86

Kidov

Jäsen
Onnistuuko IoT-Gurun käyttäminen Home Assistantin kanssa? Lisäsin IoT-Guruun Home Assistant laitteen ja koitin lisätä MQTT integraatiota Home Assistanttiin, mutta en keksinyt mitä tietoja liitteenä olevaan ikkunaan pitäisi laittaa. Tarkoitus olisi saada Mitsurunnerin data näkyviin myös Home Assistantissa.
Sain yhteyden luotua, kun valitsin käyttäjäprofiilista advanced mode tilan. Sen jälkeen näillä ohjeilla:
  • User name: user short identifier
  • Client id: device short identifier
  • Password: device key

Home Assistant osaa nyt kuunnella yhtä topiccia, mutta täytyy vielä selvittää miten saisin lisättyä useamman topicin ja miten ne lämpötilat saisi näkymään kotinäkymässä.
 

Liitteet

  • Screenshot_20240219_140504.png
    Screenshot_20240219_140504.png
    70,3 KB · Katsottu: 91

iro

Vakionaama
Sain yhteyden luotua, kun valitsin käyttäjäprofiilista advanced mode tilan. Sen jälkeen näillä ohjeilla:
  • User name: user short identifier
  • Client id: device short identifier
  • Password: device key

Home Assistant osaa nyt kuunnella yhtä topiccia, mutta täytyy vielä selvittää miten saisin lisättyä useamman topicin ja miten ne lämpötilat saisi näkymään kotinäkymässä.
IoT Guru harjoituksissa kannatta muistaa että IoT Guru ei salli useampia samanaikaisia yhteyksiä samalla Client id:llä, (=sekä lähettävällä että kuuntelevalla laitteella täytyy olla IoT Gurussa oma Device).

Jos esim. Raspberry on käytettävissä niin moni asia on suoraviivaiasempi toteuttaa omalla MQTT-brokerilla.
 

cleaf

Jäsen
Lisäsin toisen devicen tuonne iot-guruun.
Se näyttää häviävän aika ajoin ja tulee takaisin etusivulle kunhan päivittelee sivua. Varmaan tämän takia ei loggaa noita tehoja kuin randomisti.

Oisko jollain apuja antaa vai onko tuo sivustoon liittyvä ongelma?
 

wannabe

Aktiivinen jäsen
Veikkaan sivuston ongelmia. Useampana päivänä ollut hidasta latautumista, 404 erroria ja toissayön käyristä näki, että serveri vissiin ollu polvillaan useamman tunnin. Puuttuva data näyttää nyt palautuneen käppyröihin tuolle ajanjaksolle.
 

roud-ari

Tulokas
Voisiko täällä joku pätevämpi vähän auttaa harrastajaa, jonka vähäiset ohjelmointikokemukset on viime vuosituhannelta.
ILPiin on kiinnittetty Shelly, ja yritän saada siitä arvoja IOTguruun, että saisi käppyröitä näkyviin, ja paremmin selvyyttä että mitä se Mitsu touhuilee. Täältä löytykin hyvät infot ja skripti, mistä iso kiitos!
Mulla vain on käytössä tuo Shelly PM Mini Gen3, joka on siis pelkkä virtamittari, niin skripti ei suoraan pelitä.

Miten minun tuota skriptiä pitäisi muuttaa, että saisin tiedot IOTguruun?

mqtt-yhteys on muodostettu, ja tässä näkyy nuo PMn tarjoamat arvot:
1730273033691.png


Tällaiset fieldit tein IOTguruun kun aloitin. Nuille fieldien nimillä ei sinänsä ole merkitystä minulle.

1730273116128.png
 

iro

Vakionaama
Voisiko täällä joku pätevämpi vähän auttaa harrastajaa, jonka vähäiset ohjelmointikokemukset on viime vuosituhannelta.
ILPiin on kiinnittetty Shelly, ja yritän saada siitä arvoja IOTguruun, että saisi käppyröitä näkyviin, ja paremmin selvyyttä että mitä se Mitsu touhuilee. Täältä löytykin hyvät infot ja skripti, mistä iso kiitos!
Mulla vain on käytössä tuo Shelly PM Mini Gen3, joka on siis pelkkä virtamittari, niin skripti ei suoraan pelitä.

Miten minun tuota skriptiä pitäisi muuttaa, että saisin tiedot IOTguruun?

mqtt-yhteys on muodostettu, ja tässä näkyy nuo PMn tarjoamat arvot:
katso liitettä 101117

Tällaiset fieldit tein IOTguruun kun aloitin. Nuille fieldien nimillä ei sinänsä ole merkitystä minulle.

katso liitettä 101118
Jos käytät pohjana joskus minun jakaamaa skriptiä niin voisit kokeilla saatko tehon näkymään Gurussa allaolevalla skriptillä.
(Koska en yhtään tunne Shelly PM Mini Gen3:ä ehdotus voi olla huti).
Koodi:
//MQTT topic for IoTGuru (tähän topic-määtittelyt IoT-Gurusta)
let mytopicT = "pub/-------/--------/----------/ShellyT";
let mytopicRSSI =  "pub/-------/--------/----------/RSSI";
let mytopicRele =  "pub/-------/--------/----------/Rele";
let mytopicPower =  "pub/-------/--------/----------/Teho";

print("Aloitetaan 30sek kuluttua");

Timer.set(30000, true, function () {
                
//    let Power = Shelly.getComponentStatus("switch:0").apower; //read Power
    let Power = Shelly.getComponentStatus("pm1:0").apower; //read Power

    print("Power", Power);
    let PowerString = JSON.stringify(Power);
    MQTT.publish(mytopicPower,PowerString );
    
    Executed = true;
});
 

iro

Vakionaama
Voisiko täällä joku pätevämpi vähän auttaa harrastajaa, jonka vähäiset ohjelmointikokemukset on viime vuosituhannelta.
ILPiin on kiinnittetty Shelly, ja yritän saada siitä arvoja IOTguruun, että saisi käppyröitä näkyviin, ja paremmin selvyyttä että mitä se Mitsu touhuilee. Täältä löytykin hyvät infot ja skripti, mistä iso kiitos!
Mulla vain on käytössä tuo Shelly PM Mini Gen3, joka on siis pelkkä virtamittari, niin skripti ei suoraan pelitä.

Miten minun tuota skriptiä pitäisi muuttaa, että saisin tiedot IOTguruun?

mqtt-yhteys on muodostettu, ja tässä näkyy nuo PMn tarjoamat arvot:
katso liitettä 101117

Tällaiset fieldit tein IOTguruun kun aloitin. Nuille fieldien nimillä ei sinänsä ole merkitystä minulle.

katso liitettä 101118
Antamalla selaimella Shellylle komennon (192.168.xx.yy Shellyn IP-osoite aikallisverkossa) näet Shellyn raportoimat tiedot ja tietorakenteen (jos selain tarjoaa vastauksen yhteydessä "kaunista koodia-valintaa" saat tällä hieman sekavan vastauksen helpommin ymmärrettävään muotoon). Tuolta pitäisi löytyä myös "apover" ja sen paikka rakenteessa.
Edellisen viestin skripti olettaa sen löytyvän osiosta pm1:0.
 
Viimeksi muokattu:

roud-ari

Tulokas
Jos käytät pohjana joskus minun jakaamaa skriptiä niin voisit kokeilla saatko tehon näkymään Gurussa allaolevalla skriptillä.
(Koska en yhtään tunne Shelly PM Mini Gen3:ä ehdotus voi olla huti).
Koodi:
//MQTT topic for IoTGuru (tähän topic-määtittelyt IoT-Gurusta)
let mytopicT = "pub/-------/--------/----------/ShellyT";
let mytopicRSSI =  "pub/-------/--------/----------/RSSI";
let mytopicRele =  "pub/-------/--------/----------/Rele";
let mytopicPower =  "pub/-------/--------/----------/Teho";

print("Aloitetaan 30sek kuluttua");

Timer.set(30000, true, function () {
               
//    let Power = Shelly.getComponentStatus("switch:0").apower; //read Power
    let Power = Shelly.getComponentStatus("pm1:0").apower; //read Power

    print("Power", Power);
    let PowerString = JSON.stringify(Power);
    MQTT.publish(mytopicPower,PowerString );
   
    Executed = true;
});
Kyllä vain käytin sinun joskus jakamaa skriptiä, ja se alkoi nyt tällä ehdottamallasi muutoksilla toimimaan! :bileet:
Mistä iso kiitos!
Parhaita Copy-paste-taitoja käyttäen sain myös Current-tiedon menemään IOTguruun. Tiedot löytyivät rakenteesta sieltä osiosta pm1:0
 
  • Tykkää
Reactions: iro

iro

Vakionaama
Kyllä vain käytin sinun joskus jakamaa skriptiä, ja se alkoi nyt tällä ehdottamallasi muutoksilla toimimaan! :bileet:
Mistä iso kiitos!
Parhaita Copy-paste-taitoja käyttäen sain myös Current-tiedon menemään IOTguruun. Tiedot löytyivät rakenteesta sieltä osiosta pm1:0
IoT-käppyröiden hakeminen selaimella vaatii melko monta valintaa... Ainakin Androidiin löytyy "IoT-Guru"-sovellus jonka kautta tiedot saa näkyviin helpommin. Sovellus on tosin melko raakile, käyrät ovat kyllä oikein mutta esim. aika-akselin lukemat eivät pidä paikkaansa. Kannattaa kuitenkin kokeilla.
 
Back
Ylös Bottom