Mqtt mm i Nexahome

Moderators: hekj, Telldus

Post Reply
fingalo
Posts: 53
Joined: Fri Mar 17, 2023 9:45 am

Mqtt mm i Nexahome

Post by fingalo »

Hej några frågor om Nexahome.
1. Kan man använda mqtt stödet i Nexahome och hur?
2. Använder ESP8266 med tempgivare för testning. Har sett (och testat) att man kan få in givarvärden från en fil via sensorpath fältet. För att få in ett värde som skickas via HTTP så skulle jag kunna avkoda meddelandet i mypage.bsh och skriva värden till filen.
Finns det möjligen ett smidigare sätt än att gå via fil?
Skulle man kunna använda remote fältet för att läsa ett värde från ett annat system som inte är en Nexahome?
hekj
Posts: 992
Joined: Fri Mar 17, 2023 9:45 am
Location: Stockholm
Contact:

Re: Mqtt mm i Nexahome

Post by hekj »

fingalo wrote: 1. Kan man använda mqtt stödet i Nexahome och hur?
Jag har glömt bort det mesta av mqtt finesserna, började med att ladda hem.
https://kamilfb.github.io/mqtt-spy/

Hittade följande rader i min javakod.

Code: Select all

protected static final String TOPIC_CMD = "nexahome/command";
protected static final String TOPIC_STATUS = "nexahome/status";
protected static final String TOPIC_SENSOR = "nexahome/sensor";
protected static final String TOPIC_DEVICES = "nexahome/devices";
protected static final String TOPIC_RESULT = "nexahome/result";
Gjorde subscribe på följande topic.

Code: Select all

nexahome/devices
Skickade följande data på topic "nexahome/command" för att släcka en lampa.

Code: Select all

device=5&cmd=off
Såg att man fick en json efter att lampan släckts

Code: Select all

{
    "devices": [
        {
            "name": "Sovrum (fönster)",
            "id": "5",
            "timestamp": "2016-04-07 20:15",
            "dimmable": false,
            "level": "",
            "status": "OFF"
        }
    ]
}
fingalo
Posts: 53
Joined: Fri Mar 17, 2023 9:45 am

Re: Mqtt mm i Nexahome

Post by fingalo »

Hej,
tack för informationen, jag ska labba lite med det! :D

Jag fixade min fråga två genom att skapa två 'hemsidor' i ESP8266, de returnerar bara temp resp fukt värdet rakt upp och ner, ex 23.4.
I sensorpath fälter kör jag sh skriptet (för temp)

Code: Select all

#!/bin/bash
TEMP="curl -k 192.168.1.144:8081/temp"
RESPONSE=`$TEMP`
echo $RESPONSE
Hade egentligen velat pusha värdet från ESP8266, men det här fungerar helt OK. Dock updateras timestamp varje minut men skriptet körs endast var 5'e minut.

Testade också att emulera xml filen som REMOTE använder, det fungerade också bra, men problemet med den lösningen är att en REMOTE sensor inte får 'sensor' attributet i xml-filen, så den visas inte korrekt när jag läser upp data med json=yes. Också lite svårt att fixa timestamp på en ESP8266, har ingen RTC.
hekj
Posts: 992
Joined: Fri Mar 17, 2023 9:45 am
Location: Stockholm
Contact:

Re: Mqtt mm i Nexahome

Post by hekj »

Lade upp en ny version som behövs om man vill kunna skriva till topic nexahome/sensor och få in det i NexaHome som ett raw event.
http://nexahome.se/NexaHome_4.1.2.jar
fingalo
Posts: 53
Joined: Fri Mar 17, 2023 9:45 am

Re: Mqtt mm i Nexahome

Post by fingalo »

Hej,
har testat med MQTT, hade en broker på min PC, anslöt i nexahome.
Kan nu avkoda raw event och få in sensor värden den vägen samt via MQTT få info om devicer och även styra dem. (Dock får jag två meddelande varje gång en device ändras, men inte om den har dummy=yes). Om brokern går ner får jag starta om Nexahome för att koppla upp.

Skall lägga ner brokern i RPI'n så att jag har en lösning med olika alternativ för att ansluta sensorer mm till Nexahome.

Mycket trevligt att MQTT fungerar, riktigt bra.

Håller på att få till en dynamisk sensorsida som byggs från Nexahomes json output och där trenden uppdateras från temperaturfilerna med jämna mellanrum.
Attachments
Min websida med ESP8266 via sensorpath och MQTT via raw event. Övriga är 433 MHz givare.
Min websida med ESP8266 via sensorpath och MQTT via raw event. Övriga är 433 MHz givare.
Untitled-1.jpg (150.44 KiB) Viewed 17186 times
hekj
Posts: 992
Joined: Fri Mar 17, 2023 9:45 am
Location: Stockholm
Contact:

Re: Mqtt mm i Nexahome

Post by hekj »

Ser bra ut!

Jag kan förtydliga vad man kan göra med topic "nexahome/command", i princip alla parametrar som man kan ge på url-raden ska fungera men ingen verifiering av lösenord sker.
fingalo
Posts: 53
Joined: Fri Mar 17, 2023 9:45 am

Re: Mqtt mm i Nexahome

Post by fingalo »

Hej!
Har nu också en mqttbroker (mosquitto) lokalt i RPI'n tillsammans med nexahome.
I ESP8266 skickar jag temperatur och fuktvärde till nexahome via mqtt topic 'nexahome/sensor' och tar hand om som ett raw event.
Kopplade också in 4 reläer till ESP8266 och dessa går nu att styra från nexahome via nexahome/command i mqtt.
Denna lösning fungerar riktigt bra, förutom att ESP8266 drar (väldigt) mycket ström..

Har inga anvisningar på vad jag gjort, men det går alltid att fråga om någon är intresserad.
Vinterhem
Posts: 26
Joined: Fri Mar 17, 2023 9:45 am

Re: Mqtt mm i Nexahome

Post by Vinterhem »

Hej!
-Att skicka kommandon till nexahome via mqtt (nexahome/command) går som en dans, men..

Jag försöker hämta värden från min mqtt, och det går lite sådär..
-Så fort jag har anslutit till min mosquitto, dyker "en massa" nya sensorer, typ termometrar upp när jag läser raw sensor data, med nonsensvärden, men ingenting jag lägger i nexahome/sensor syns i fönstret. Skickar från en esp8266, med espeasy som firmware. I mqtt-spy ser allt ut som det skall, är det någonting jag missar? Visst, det går att läsa och skriva på andra vis, men det hade varit fina fisken om jag kunde få värden direkt in i nexahome, när du nu har lagt in stöd för mqtt.
Vinterhem
Posts: 26
Joined: Fri Mar 17, 2023 9:45 am

Re: Mqtt mm i Nexahome

Post by Vinterhem »

:wave:
Löste det.. Jag vet inte vad jag gjorde, för att värdet skulle börja dyka upp som "RAW Sensor Data", men plötsligt gjorde det exakt det.

I ESPEasy lade jag in i rules:
On DHT#Tmp do
Publish nexahome/sensor id:a70 temp:[DHT#Tmp]
[DHT är sensorn, och Tmp temperaturvariabeln]
I NH under parameters:
model:mqtt;id:a70;value:temp
..och satte SENSOR under fliken members/type.

..Men med mqtt igång, har jag hundratalet sensorer som dyker upp som rawevents, sensorer med konstiga värden, som ser ut precis som om de vore existerande termometrar via tellsticken, dvs utan markeringen mqtt.
fingalo
Posts: 53
Joined: Fri Mar 17, 2023 9:45 am

Re: Mqtt mm i Nexahome

Post by fingalo »

Hej,
tyvärr känner jag inte igen problemet med många konstiga raw events.
Själv skickar jag liknande mqtt sträng och avkodar som:
id:mq3;model:mqtt;value=temp
Broker:
tcp://localhost:1883

Det är inte någon konfigurering av mqtt brokern som gör att den bara pumpar på hela tiden?

Länge sen jag gjorde det så jag har inget konkret att peka på.
Post Reply