This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm that you accept these cookies being set.

[OLD] LogicMachine firmware 2020.07
#81
(26.01.2021, 10:58)Daniel. Wrote: Just enable MQTT without encryption in the app and set MQTT explorer like this. If it won't connect then most likely it is firewall.

Hi Daniel,
this is exactly the set setup that I have, but I have tried to connect from my LAN (inside the firewall).

Regards Johan

(26.01.2021, 10:52)admin Wrote: Post full listing of your test script.

Code:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
if not broker then   broker = '127.0.0.1.'   function multiply(mult)     return function(value)       local num = tonumber(value)       if num then         return num * mult       else         return value       end     end   end   -- topic to object map   mqtt_to_object = {     ['in/topic1'] = '1/1/1',     ['in/topic2'] = '1/1/2',   }   -- optional topic value conversion function   mqtt_to_object_conv = {     ['in/topic1'] = multiply(100),     ['in/topic2'] = multiply(0.01),   }   -- object to topic map   object_to_mqtt = {     ['1/1/1'] = 'out/topic1',     ['1/1/2'] = 'out/topic2',   }   datatypes = {}   grp.sender = 'mq'   require('socket')   for addr, _ in pairs(object_to_mqtt) do     local obj = grp.find(addr)     if obj then       datatypes[ addr ] = obj.datatype     end   end   mclient = require('mosquitto').new()   mclient.ON_LOG = log   mclient.ON_CONNECT = function(res, ...)     log('mqtt connect status', res, ...)     if res then       for topic, _ in pairs(mqtt_to_object) do         mclient:subscribe(topic)       end     else       mclient:disconnect()     end   end   mclient.ON_MESSAGE = function(mid, topic, payload)     local addr = mqtt_to_object[ topic ]     if addr then       local fn = mqtt_to_object_conv[ topic ]       if fn then         payload = fn(payload)       end       grp.write(addr, payload)     end   end   mclient.ON_DISCONNECT = function(...)     log('mqtt disconnect', ...)     mclientfd = nil   end   function mconnect()     local fd     mclient:connect(broker)     fd = mclient:socket()     -- fd ref is valid     if fd then       mclientfd = fd     end   end   mconnect()   function publishvalue(event)     -- message from us or client is not connected     if event.sender == 'mq' or not mclientfd then       return     end     local addr = event.dst     local dpt = datatypes[ addr ]     local topic = object_to_mqtt[ addr ]     -- unknown object     if not dpt or not topic then       return     end     local value = busdatatype.decode(event.datahex, dpt)     if value ~= nil then       if type(value) == 'boolean' then         value = value and 1 or 0       end       mclient:publish(topic, tostring(value))     end   end   lbclient = require('localbus').new(1)   lbclient:sethandler('groupwrite', publishvalue)   lbclientfd = socket.fdmaskset(lbclient:getfd(), 'r')   -- run timer every 5 seconds   timer = require('timerfd').new(5)   timerfd = socket.fdmaskset(timer:getfd(), 'r') end -- mqtt connected if mclientfd then   mclientfdset = socket.fdmaskset(mclientfd, mclient:want_write() and 'rw' or 'r')   res, lbclientstat, timerstat, mclientstat =       socket.selectfds(10, lbclientfd, timerfd, mclientfdset) -- mqtt not connected else   res, lbclientstat, timerstat =     socket.selectfds(10, lbclientfd, timerfd) end if mclientfd and mclientstat then   if socket.fdmaskread(mclientstat) then     mclient:loop_read()   end   if socket.fdmaskwrite(mclientstat) then     mclient:loop_write()   end end if lbclientstat then   lbclient:step() end if timerstat then   -- clear armed timer   timer:read()   if mclientfd then     mclient:loop_misc()   else     mconnect()   end end
#82
I meant PC firewall.
------------------------------
Ctrl+F5
#83
Hi again, 
I get some MQTT errors from Mosaic, see below.

#84
You have an extra dot in the broker address: broker = '127.0.0.1.'
#85
(26.01.2021, 12:31)admin Wrote: You have an extra dot in the broker address: broker = '127.0.0.1.'

Thanks, works perfect now

(26.01.2021, 12:26)Daniel. Wrote: I meant PC firewall.

Thanks, will check that
#86
I try to wake up this thread

hope everybody is safe

do you know when we will have a chance to see an official release ?

Cheers
#87
Next week we're publishing new firmware beta version.
#88
and GA ??

personally i'm not confortable to put a beta on a working home !!!!
#89
hello everyone please give us more information about the synchronization between the new mosiac beta and the cloud of logic machine, also give us more information about the mqtt app. After of the beta update how can i sync with the cloud???

      Best regards,
            Chris Balatis
#90
(07.04.2021, 19:02)balatis Wrote: hello everyone please give us more information about the synchronization between the new mosiac beta and the cloud of logic machine, also give us more information about the mqtt app. After of the beta update how can i sync with the cloud???

      Best regards,
            Chris Balatis

https://forum.logicmachine.net/showthrea...9#pid21069
------------------------------
Ctrl+F5


Forum Jump: