Forum

Forum

Notifications
Clear all

LOXONE - MODBUS

426 Posts
46 Users
39 Likes
57.9 K Views
(@koldavideo)
Member
Joined: 7 years ago
Posts: 1780
Topic starter  

@ Dáda - ne ne - momentálně je to napojené na modbus extension.


   
ReplyQuote
Dáda
(@vary)
...
Joined: 7 years ago
Posts: 730
 

jasny 🙂 premejslim, jestli vubec lze nejak zobrazit tu hodnotu casu. Takovej datovej typ podle me loxone neumi. Jak by to melo fungovat? K cemu to presne chces?


   
ReplyQuote
(@koldavideo)
Member
Joined: 7 years ago
Posts: 1780
Topic starter  

Jasně, psal jsem to o něco výš. V zařízení je plánovač spouštění. Plánované spuštění se ukládá do registru v podobě 32-bitového čísla, které představuje datum a čas. takže tuto hodnotu potřebuju v app nastavit - převést a zapsat do registru 🙂


   
ReplyQuote
Dáda
(@vary)
...
Joined: 7 years ago
Posts: 730
 

jo takze ty potrebujes datum-cas ->timestamp

Vzorec je 

(01.01.2017 - 01.01.1970)*86400

Jen premejslim, jak získáš v loxonu ten aktuální datum/cas ?


   
ReplyQuote
(@koldavideo)
Member
Joined: 7 years ago
Posts: 1780
Topic starter  

Tak všechny stavy už vyčítám bez problémů. Teď ještě aktory. Zatím nevím jaký je rozdíl mezi analogovým a digitálním aktorem. Může mi někdo poradit jak předám hodnotu digitálnímu aktoru? Snažím se pořád něco odeslat ale nic - bez reakce. Zkoušel jsem to zatím jen přes analogový aktor. Teď mě ale napadlo zkusit to přes digitální. Jak například předám hodnotu 250 (dec) ? To znamená 00FA (Hex) resp. 0000000011111010 (bin). Doteď jsem si myslel že přes digitální aktor se dá předávat pouze hodnoa 0 nebo 1 ale proč by byla v nastavení digitálního aktoru v loxone možnost např. 16 - Preset multiple registers?

Screenshot 2017 04 04 18.40.48

   
ReplyQuote
(@koldavideo)
Member
Joined: 7 years ago
Posts: 1780
Topic starter  

Tak teď si připadám jako blázen. Ať se snažím jak chci tak výsledky jsou tristní.

Dle zjištění mám zapsat  do registru 0x047B hodnotu 0002. Takže pomocí analogové paměti nastavené na hodnotu 2 se snažím zapsat tuto hodnotu do registru pomocí připojeného aktoru. Pro zpětnou kontrolu jsem vytvořil i senzor, ze kterého zpětně čtu co jsem zapsal a výsledek je takový,

že při zápisu hodnoty "2" zpětně čtu hodnotu 8706 (2202 Hexa). Když do toho samého registru zapíšu hodnotu "3" zpětně čtu hodnotu 57858 (0000E202 Hexa). Vůbec nechápu souvislosti.

Zápis do registru dělám přes aktor nastavený následovně :

Příkaz : 6 - Preset single register

datový typ : 16-bit unsigned integer (plus zašrktnuto dvojitý registr pro 32bit)

 Čtení z registru dělám přes analogový senzor nastavený následovně : 

Příkaz : 4 - Read input register(3x)

Datový typ : 16-bit unsigned integer (plus zašrktnuto dvojitý registr pro 32bit)

Když jsem nastavil datový typ u senzoru i aktoru na hodnotu 32-bit unsigned integer tak při pokusu o zápis hodnoty "2" zpětně čtu hodnotu 579010560 (22830000 Hex).

Chápete to někdo ?


   
ReplyQuote
(@koldavideo)
Member
Joined: 7 years ago
Posts: 1780
Topic starter  

Tak konečně už mi to funguje. Po 14-ti dnech jsem rozsvítil světlo v bazénu. Prostě špatný typ registru a k tomu ještě pár drobností co kluci ve Španělsku tak nějak zapomněli zveřejnit 🙂


   
ReplyQuote
Pavel
(@pa-v-el)
Member
Joined: 7 years ago
Posts: 1508
 

Koldo ty seš ďábel 😀


   
ReplyQuote
(@koldavideo)
Member
Joined: 7 years ago
Posts: 1780
Topic starter  

No ale pořád je tam spousta proměnných, u kterých nevím datové typy. Navíc teď bojuji s hodnotami "timestamp". Zatím nevím jak mám převést v loxone 32 bit číslo na formát hh:mm , případně na YY:MM:DD HH:MM:SS ?


   
ReplyQuote
Dáda
(@vary)
...
Joined: 7 years ago
Posts: 730
 

Zkus podporu, kdyz ne ceskou na rakouskou, ta je lepsi.

Mohl by jsi sem prosim hodit ten loxplan ? 🙂 dekujeme


   
ReplyQuote
msk
 msk
(@dusanmsk)
Member
Joined: 7 years ago
Posts: 1880
 

Takze primarny problem bol akurat v tom, ze si zle pouzil "dokumentaciu od dodavatela"? Predpokladam, ze bola urcena na vytretie riti a ty si podla nej skusal nieco rozchodit ... 😀


   
ReplyQuote
(@koldavideo)
Member
Joined: 7 years ago
Posts: 1780
Topic starter  

V dokumentaci je toho hodně ale ještě víc chybí. Přišel jsem na to tak, že jsem se napíchnul přes terminál a odchytával co se děje. 

Jo a v Loxone mi hodně pomohli :

Dobrý den,

Bohužel s tvorbou vlastní logiky Vám nemůžeme pomoct.

Jde o zásadu kterou zaručujeme v partnerském programu.

Pokud sestavíte šablonu příkazů potřebných pro ovládání a budete se o ni chtít podělit s ostatními, rádi ji uveřejníme mezi přednastavenými zařízeními.

S pozdravem 


   
ReplyQuote
(@koldavideo)
Member
Joined: 7 years ago
Posts: 1780
Topic starter  

Jo a to jsem po Loxone chtěl akorát pomoct s tím, že bych potřeboval nějak vytvořit ovládací prvek, ve kterém budu moci pod jedním příkazem vyslat sekvenci povelů. Vprdli se na mě. Už jsem si to zjistil sám. Dělám to pomocí bloku ovládání médií. jakmile budu mít něco srozumitelného tak to poskytnu. V příloze vám ukážu jak provádím sérii příkazů přes blok ovládání médií.

Screenshot 2017 04 10 10.45.28
Screenshot 2017 04 10 10.46.22

   
ReplyQuote
 Dawe
(@dawe)
Member
Joined: 7 years ago
Posts: 203
 

Proste se musis vzdycky spolehnout sam na sebe 🙂

Ale jsi borec, ze jsi na to prisel 😉


   
ReplyQuote
(@koldavideo)
Member
Joined: 7 years ago
Posts: 1780
Topic starter  

No mě teď jde o to, jak převést sekundy do podoby HH:MM. 

Např. mám 43200 sekund - což je 12:00, tedy 12 hodin 0 minut. Tedy 43200/60 je 720 min. 720/60 = 12 hod.  To je v případě dělení bez zbytku. Nechce se mi to vymýšlet.


   
ReplyQuote
Page 3 / 29
Share: