Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Unsolved
Collapse
Discussion Forum to share and further the development of home control and automation, independent of platforms.
  1. Home
  2. openLuup
  3. Plugins
  4. openLuup: Tasmota MQTT Bridge
openweather plugin ?
DesTD
Hey guys.... long time Since Dark weather is no more active, thanks Apple. Anyone switch to openweather to get weather data ?
Plugins
Openluup: Datayours
D
Hi akbooer, I've an installation with a centralized openluup/DY on Debian 11 where're archived and consolidated several remote openluup/DY on RPI. I'm also using a user-defined (defined with your support) "DataUser.lua" to process metrics and creating different metric names. I've a schema of this configuration but I can't upload on forum. I'd like to manage outage network connections between remote and centralized system while the remote DY is running and archives data locally. I see the whisper-fill.py python routine (https://github.com/graphite-project/whisper/blob/master/bin/whisper-fill.py) from Graphite tool. I know that DY/whisper format is different from Graphite/whisper (CSV vs. binary packing), but based on your deep knowledge and experience is it hard to adapt the fill routine to DY/whisper format ? tnks donato
Plugins
openLuup: Shelly Bridge plugin
akbooerA
Feedback / solutions with openLuup's built-in Shelly bridge.
Plugins
zigbee2mqtt and openLuup
A
Been using zigbee2mqtt and openLuup for sometime now and it is working well. I attempted to add another Hue switch to-day. It's a newer version of the other ones I have been using so far. They are pretty much identical. The older ones installed no problem (which is weird), but the new one won't. Looking at the code, it looks this function in L_Zigbee2MQTTBridge.lua: configure_scene_controller(dno) is not being passed the parameter "dno" when the function is called. The device is created but is incomplete. Just out of interest how do you pretty print to the log from within say L_Zigbee2MQTTBridge.lua? I tried a few incarnations such a: local pretty = openLuup.loader.shared_environment.pretty but they all failed.
Plugins
UPnP event proxy plugin using systemd service file
A
Originally I was using Futzle's UPnP event proxy plugin on Vera with the Sonos plugin. Worked very well. On making the move to openLuup, one finds that the proxy can't be used because the proxy daemon start and stop, etc uses a script installed by the plugin that only works on openWRT, as used by Vera. The Sonos plugin still works without the proxy but it reverts to polling. It becomes a bit on the sluggish side and sometimes doesn't function quite as intended. I've modified the proxy plugin to install a script that runs as a systemd service. systemd can be found on a lot of contemporary Linux installs, including Raspberry Pis. To make use of; just install the plugin from the AltUI app store and restart the Luup engine a couple of times. The dashboard should indicate "Status: Proxy running". Note that the service file expects "L_UPnPProxyDaemon.lua" to be located at the typical plugin files location: /etc/cmh-ludl/ After the plugin is installed, the service file should be found in: /etc/systemd/system/ as UPnPProxy.service. If you use the Sonos plugin, you need to change the variable "UseProxy" to "1" and restart the LuupEngine. In the Sonos parent device, you should see: "Running x zones; proxy detected". Updated doco here. Hope it works - YMMV.
Plugins
Sonos system alerts truncated
A
Well pretty sure I didn't change or touch anything! I've turned everything on and off again as one might hope. Excepting a total reboot of the Pi3 that's running all my stuff very reliably in openLuup. It's all been working well for years and now all of sudden 6 second alerts are truncated to about 4 seconds. Occasionally it works as it should. I see this in the log - does it help? 2023-02-20 09:39:06.662 luup_log:0: My Lua ver 0.50 debug: executing scene 63: "Check windows doors" in room: "Watchers" 2023-02-20 09:39:06.663 luup.call_action:: 217.urn:micasaverde-com:serviceId:Sonos1.Alert 2023-02-20 09:39:06.663 luup.call_action:: action will be handled by parent: 214 2023-02-20 09:39:06.663 luup_log:0: My Lua ver 0.50 debug: rest of scene 63 was executed 2023-02-20 09:39:06.663 luup.scenes:: scene 63, Check windows doors, initiated by AltUI 2023-02-20 09:39:06.665 luup_log:214: Sonos: Alert action on device 217 URI "http://redacted:3480/www/sounds/AllClosed.mp3" duration "6" 2023-02-20 09:39:06.758 luup_log:214: Sonos: UPnP_request (Pause, urn:schemas-upnp-org:service:AVTransport:1): status=1 statusMsg=500 result=[<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><s:Fault><faultcode>s:Client</faultcode><faultstring>UPnPError</faultstring><detail><UPnPError xmlns="urn:schemas-upnp-org:control-1-0"><errorCode>701</errorCode></UPnPError></detail></s:Fault></s:Body></s:Envelope>] 2023-02-20 09:39:06.759 luup_log:214: stack traceback: ./L_SonosSystem1.lua:265: in function 'error' ./L_SonosUPnP.lua:289: in function <./L_SonosUPnP.lua:169> (tail call): ? ./L_SonosSystem1.lua:3390: in function 'sayOrAlert' ./L_SonosSystem1.lua:3452: in function 'queueAlert' ./L_SonosSystem1.lua:3843: in function <./L_SonosSystem1.lua:3839> (tail call): ? [C]: in function 'pcall' ./openLuup/scheduler.lua:204: in function 'context_switch' ./openLuup/scheduler.lua:366: in function 'dispatch' ./openLuup/scheduler.lua:588: in function 'task_callbacks' ./openLuup/scheduler.lua:699: in function 'start' openLuup/init.lua:354: in main chunk [C]: ? 2023-02-20 09:39:06.888 luup.variable_set:: 214.urn:toggledbits-com:serviceId:SonosSystem1.zoneInfo was: {"zones":{"RINCON_000E58DC7BBE01400":{"Location":"http://redacted3:1400/xml/device_description.xml","Group":"RIN... now: {"zones":{"RINCON_000E58DC7BBE01400":{"Location":"http://redacted3:1400/xml/device_description.xml","Group":"RIN... #hooks:0 2023-02-20 09:39:06.895 luup.variable_set:: 217.urn:upnp-org:serviceId:AVTransport.TransportState was: STOPPED now: TRANSITIONING #hooks:0 2023-02-20 09:39:06.901 luup.variable_set:: 217.urn:upnp-org:serviceId:AVTransport.CurrentPlayMode was: SHUFFLE_NOREPEAT now: NORMAL #hooks:0 2023-02-20 09:39:06.913 luup.variable_set:: 217.urn:upnp-org:serviceId:AVTransport.CurrentTransportActions was: Set, Stop, Pause, Play, X_DLNA_SeekTime, Next, X_DLNA_SeekTrackNr now: Set, Stop, Pause, Play, X_DLNA_SeekTime, X_DLNA_SeekTrackNr #hooks:0 2023-02-20 09:39:06.921 luup.variable_set:: 217.urn:upnp-org:serviceId:AVTransport.NumberOfTracks was: 10 now: 1 #hooks:0 2023-02-20 09:39:06.922 luup.variable_set:: 217.urn:upnp-org:serviceId:AVTransport.AVTransportURI was: x-rincon-queue:RINCON_000E58DC7BBE01400#0 now: http://redacted:3480/www/sounds/AllClosed.mp3 #hooks:0 2023-02-20 09:39:11.929 luup_log:214: Sonos: UPnP_request() "urn:schemas-upnp-org:service:AVTransport:1"#"GetPositionInfo" action took 5.0073010921478s (long) 2023-02-20 09:39:11.932 luup.variable_set:: 217.urn:upnp-org:serviceId:AVTransport.CurrentTrackDuration was: 0:02:22 now: 0:00:00 #hooks:0 2023-02-20 09:39:11.933 luup.variable_set:: 217.urn:upnp-org:serviceId:AVTransport.CurrentTrackURI was: x-file-cifs://ELEPHANT1/Multimedia/My%20Music/Music%20JP/The%20Smiths/The%20Queen%20Is%20Dead/08%20Vicar%20in%20a%2... now: http://redacted:3480/www/sounds/AllClosed.mp3 #hooks:0 2023-02-20 09:39:11.934 luup.variable_set:: 217.urn:upnp-org:serviceId:AVTransport.CurrentTrackMetaData was: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r... now: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r... #hooks:0 2023-02-20 09:39:11.936 luup.variable_set:: 217.urn:upnp-org:serviceId:AVTransport.CurrentStatus was: Vicar in a Tutu: (The Smiths, The Queen Is Dead) now: AllClosed.mp3 #hooks:0 2023-02-20 09:39:11.937 luup.variable_set:: 217.urn:upnp-org:serviceId:AVTransport.CurrentTitle was: Vicar in a Tutu now: AllClosed.mp3 #hooks:0 2023-02-20 09:39:11.937 luup.variable_set:: 217.urn:upnp-org:serviceId:AVTransport.CurrentArtist was: The Smiths now: #hooks:0 2023-02-20 09:39:11.938 luup.variable_set:: 217.urn:upnp-org:serviceId:AVTransport.CurrentAlbum was: The Queen Is Dead now: #hooks:0 Also see these: 2023-02-24 16:12:13.576 openLuup.server:: GET /www/sounds/YouRang.mp3 HTTP/1.1 tcp{client}: 0x17e96f0 2023-02-24 16:12:13.579 openLuup.server:: error 'closed' sending 43102 bytes to tcp{client}: 0x17e96f0 So any clues?
Plugins
Generic support for vacuums
therealdbT
I've got myself a nice Ecovacs Deebot 950, because one of the Roombas is getting really old (12 years and still going strong). It's my first one connected to WiFi, since the others are legacy. I've found a nice mqtt library and it's already pushing to my broker in real time, but I'm wondering if there's a generic device template and/or service, otherwise I'll start building one and I'll try to keep it as much generic as possible.
Plugins
Switchboard plugin
D
Topic thumbnail image
Plugins
Cannot publish new version in ALTAPP Store
M
Hi @akbooer, I have an updated version of one of my plugins but I cannot publish it in the ALTApp Store. When I click publish it gets in a sort of loop of Refreshing Token.../Token refreshed. However, I never get to page to refresh the token. Looking at the browser debug window I see this as the response to http://192.168.178.101:3480/data_request?id=lr_ALTUI_Handler&command=refresh_auth_token {"error":{"code":400,"message":"Bad Request - invalid_grant","step":"Get access token from refresh token"}} Running openLuup v21.7.25. Any suggestion? Cheers Rene
Plugins
openLuup: UI Device / Tile Text
parkercP
Topic thumbnail image
Plugins
Reactor scope issues
B
Topic thumbnail image
Plugins
Virtual Devices Plug-in update (with async HTTP support)
therealdbT
I just published an update to my Virtual Devices Plug-in. What's new in version 1.5: support for async HTTP (out of the box on openluup, just download https://github.com/akbooer/openLuup/blob/master/openLuup/http_async.lua and copy with the plug-in files on Vera) experimental support for setpoints management in Virtual Heaters (you know, the device will turn itself off if temperature is reached, and automatically on when temperature is not beyond the setpoint) external device for temperature in Virtual Heaters (just set urn:bochicchio-com:serviceId:VirtualHeater1/TemperatureDevice variable) small fixes, stabilization Grab your copy from https://github.com/dbochicchio/vera/tree/master/VirtualDevices As always, 100% local, 100% apps friendly, 100% supported by Alexa (and Google Home, I guess).
Plugins
AltUI will not update under openLuup (Vera: not sure what it does)
A
This topic has come up before but I haven't seen an answer. Symptom: AltuUI says there is a new update available, so you tell it to do the update but the update does not happen. AltUI remains stuck on it's old version. On other occasions it works OK. So my version is: AltUI v2.49.2546, © 2019 AltUI says this: a newer version #2551 of ALTUI is available, do you want to upgrade ? add scrollable dialog for long boxes bugfix: clock display on safari remote url update ( @olov ) update jquery and bootstrap versions credential to camera device url ( @rafale77 ) ignore Ezlo hub ( @reneboer) Track through the JavaScript and find that this issues the update command: function _triggerAltUIUpgrade(newversion,newtracnum) { var url = '?id=action&serviceId=urn:micasaverde-com:serviceId:HomeAutomationGateway1&action=CreatePlugin&PluginNum=8246&Version={1}&TracRev={0}'.format(newversion,newtracnum); return _httpGet(url,{}).always( function() { PageMessage.message(_T("Upgrade Request succeeded, a Luup reload will happen"),"success"); }); }; And the url variable equals: url: "?id=action&serviceId=urn:micasaverde-com:serviceId:HomeAutomationGateway1&action=CreatePlugin&PluginNum=8246&Version=40628&TracRev=2551" All looks good so far. I manually issue the same url complete with my openLuup ip_address in a local browser. Update fails - looks like AltUI is doing as it should: http://ip_address:3480/data_request?id=action&serviceId=urn:micasaverde-com:serviceId:HomeAutomationGateway1&action=CreatePlugin&PluginNum=8246&Version=40628&TracRev=2551 In openLuup I see: 2021-12-06 13:56:14.821 luup_log:3: ALTUI: startupDeferred, called on behalf of device:3 2021-12-06 13:56:14.838 luup.variable_set:: 3.urn:upnp-org:serviceId:altui1.Version was: v2.49 now: v2.49 #hooks:0 And then later: 2021-12-06 13:55:58.256 openLuup.server:: GET /data_request?id=action&serviceId=urn:micasaverde-com:serviceId:HomeAutomationGateway1&action=CreatePlugin&PluginNum=8246&Version=40628&TracRev=2551 HTTP/1.1 tcp{client}: 0x25712a8 2021-12-06 13:55:58.257 luup.call_action:: 0.urn:micasaverde-com:serviceId:HomeAutomationGateway1.CreatePlugin 2021-12-06 13:55:58.259 luup.call_action:: 4.urn:upnp-org:serviceId:AltAppStore1.update_plugin 2021-12-06 13:55:58.260 luup_log:4: AltAppStore : starting <run> phase... 2021-12-06 13:55:58.262 luup_log:4: AltAppStore : downloading amg0/ALTUI [2551] to trash/AltAppStore/ 2021-12-06 13:55:58.262 luup_log:4: AltAppStore : GitHub request: https://api.github.com/repos/amg0/ALTUI/contents?ref=2551 2021-12-06 13:55:58.760 luup_log:4: AltAppStore : GitHub request: https://api.github.com/repos/amg0/ALTUI/contents/blockly?ref=2551 2021-12-06 13:55:59.543 luup_log:4: AltAppStore : getting contents of version: 2551 2021-12-06 13:55:59.544 luup.variable_set:: 4.urn:upnp-org:serviceId:altui1.DisplayLine1 was: AltAppStore now: Downloading... #hooks:0 2021-12-06 13:55:59.544 luup.variable_set:: 4.urn:upnp-org:serviceId:altui1.DisplayLine2 was: now: Alternate UI #hooks:0 2021-12-06 13:55:59.544 luup_log:4: AltAppStore : scheduling <job> phase... 2021-12-06 13:55:59.544 openLuup.requests:: 2021-12-06 13:55:59.545 openLuup.server:: request completed (148 bytes, 1 chunks, 1288 ms) tcp{client}: 0x25712a8 2021-12-06 13:55:59.554 openLuup.server:: request completed (6233 bytes, 1 chunks, 16442 ms) tcp{client}: 0x255e680 2021-12-06 13:55:59.555 luup_log:4: AltAppStore : ...final <job> phase 2021-12-06 13:55:59.555 luup_log:4: AltAppStore : Total size 0.000 (kB) 2021-12-06 13:55:59.555 luup.variable_set:: 4.urn:upnp-org:serviceId:altui1.DisplayLine2 was: Alternate UI now: Alternate UI 100% #hooks:0 2021-12-06 13:55:59.555 luup_log:4: AltAppStore : updating icons in icons/ ... 2021-12-06 13:55:59.555 luup_log:4: AltAppStore : updating device files in ./ ... 2021-12-06 13:55:59.556 luup_log:4: AltAppStore : ... 0 icon files 2021-12-06 13:55:59.556 luup_log:4: AltAppStore : ... 0 device files 2021-12-06 13:55:59.556 luup_log:4: AltAppStore : Alternate UI update completed 2021-12-06 13:55:59.556 openLuup.luup:: device 4 'Alternate App Store' requesting reload 2021-12-06 13:55:59.556 luup.reload:: saving user_data 2021-12-06 13:56:00.262 openLuup.luup:: exiting with code 42 - after 0.3 hours All looks OK. Then I check GitHub. It shows the latest changes to the version 2551. However this page says the latest version is 2550. So I wondering what's going on. Seems the latest version number is not being picked by the installer? (not sure how it works.) Is it possible for openLuup to log a bit more about the version it's trying to install. As this call returns. https://api.github.com/repos/amg0/ALTUI/contents?ref=2551 message "No commit found for the ref 2551" documentation_url "https://docs.github.com/v3/repos/contents/" But this works fine: https://api.github.com/repos/amg0/ALTUI/contents?ref=2550 So it looks like AMG0 doesn't always update the repository with whatever is needed to get this to work (I imagine that's easy to forget). But could openLuup send back a fail result to AltUI and AltUI pick that up? Currently it looks like AltUI always assumes everything went OK. Or somehow; could openLuup log and/or notify the user what went wrong?
Plugins
Reactor: double click action
R
Hi @toggledbits and others, Could you help me out with the following use case? I have a z-wave module that doesn't have scene functionality, but I want to trigger a double click action on the switch. What is the easiest way to do this in reactor? I'm struggling with this and I think I'm thinking too complex at this point.
Plugins
Virtual Pronto Remote plugin
A
Topic thumbnail image
Plugins
openLuup: SmartSwitch plugin
akbooerA
This plugin was updated by @vosmont to run under openLuup (and possibly UI7.) @DesT recently asked for a slight addition to its functionality, so I'm adding this thread to discuss the changes.
Plugins
Reactor icons for local lan
B
@toggledbits Hi Patrick. I had my internet go down for about 12 hours the other day, and that experience encouraged me to work on getting my HA off the cloud to the extent that I can. I have not converted my Veras to local devices yet, though after the next VeraPlus stable firmware release, I will probably run your scripts to localize the device as I don't see Ezlo surviving to maintain Vera firmware. My question concerns the icons in your plugins. While attempting to mod a reactor sensor during the outage, I could not really do anything (without a sense of risk anyway) as the icons used are pulled from your website. Many Vera plugins operate this way--no doubt to save space on the vera, and my inclination was to manually start downloading what I needed when the outage was over. I run everything on openLuup and space is not an issue. It occurred to me that localizing a plugin could be a button push somewhere in the plugin UI where one could auto download any needed icons and the plugin would recognize the local copy first, before trying the cloud. Could this be a possible enhancement to your plugins? I don't really have a technical grasp of whether this would be workable or not.
Plugins
openLuup: Tasmota MQTT Bridge
akbooerA
Feedback / solutions for openLuup's built-in Tasmota MQTT bridge.
Plugins
AltUi
C
I reinstalled the AltUi plugin on OpenLuup and I no longer access its web interface I have the following error: error in callback [lr_ALTUI_Handler]: ./dkjson.lua:397: bad argument # 1 to 'strfind' (string expected, got nil) Can someone help me? OpenLuup version 2021.05.08
Plugins
AltUI sort?
CatmanV2C
Am I losing it or did there used to be a sort either alphabetically or numerically option on devices in AltUI? Seems to not be there there? TIA C
Plugins

openLuup: Tasmota MQTT Bridge

Scheduled Pinned Locked Moved Plugins
127 Posts 5 Posters 26.5k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • ElcidE Offline
    ElcidE Offline
    Elcid
    wrote on last edited by
    #12

    Would love to test Tasmota, but my devices are in working state, and connected to a mosquitto server. I was wondering if MQTT openLuup can be bridged?

    therealdbT 1 Reply Last reply
    0
    • ElcidE Elcid

      Would love to test Tasmota, but my devices are in working state, and connected to a mosquitto server. I was wondering if MQTT openLuup can be bridged?

      therealdbT Offline
      therealdbT Offline
      therealdb
      wrote on last edited by
      #13

      @elcid yes you can. I’ve bridge it with my own mqtt server and it’s working ok.

      --
      On a mission to automate everything.

      My MS Reactor contrib
      My Luup Plug-ins

      1 Reply Last reply
      1
      • ElcidE Offline
        ElcidE Offline
        Elcid
        wrote on last edited by Elcid
        #14

        Well I tried a simple bridge in the mosquitto config file with no luck. What did i miss?

        connection bridgemqtt1
        address 192.158.0.40:1884
        topic # both 0

        [edit] Nevermind i failed to restart using -c mosquitto.conf

        1 Reply Last reply
        0
        • A ArcherS

          @akbooer I installed v21.4.14 and it looks really nice, well done. 🙂

          At first I did not find the two Tasmota devices, but then I found them in the room "Tasmota" that I already had made!

          The devices seem to behave as they should, I will check over time.

          Combined with the GUI in the Virtual Sensor plugin from @toggledbits it is now really easy to link the desired variables to a virtual sensor.
          In total a really user friendly setup without any coding required. 🙂
          224b6782-bc50-4a4d-92e1-125a2715d710-image.png

          The system load stayed the same as when I had the devices mapped via luup handlers, which I assume is expected. On my Pi that also has a Zway bridge on it the cpu load without cjson is approx 10.5%. I think the Zway bridge is costing a bit of cpu actually, it is quite active.

          I will add some more Tasmota devices and see how it works.

          akbooerA Offline
          akbooerA Offline
          akbooer
          wrote on last edited by
          #15

          @archers said in openLuup: Tasmota MQTT Bridge:

          I think the Zway bridge is costing a bit of cpu actually, it is quite active.

          Do you have it running in asynchronous mode? Do you have CJson installed yet?

          @archers said in openLuup: Tasmota MQTT Bridge:

          I do however get the following errors in the log:

          OK, I'll take a look. Do you have an example of the message posted which causes the error?

          Otherwise, things seem to be going fairly well...

          @archers said in openLuup: Tasmota MQTT Bridge:

          Combined with the GUI in the Virtual Sensor plugin from @toggledbits it is now really easy to link the desired variables to a virtual sensor.
          In total a really user friendly setup without any coding required.

          This is really good news, and perhaps means that I don't need to refine the variables further or create any child devices?

          A 1 Reply Last reply
          0
          • akbooerA akbooer

            @archers said in openLuup: Tasmota MQTT Bridge:

            I think the Zway bridge is costing a bit of cpu actually, it is quite active.

            Do you have it running in asynchronous mode? Do you have CJson installed yet?

            @archers said in openLuup: Tasmota MQTT Bridge:

            I do however get the following errors in the log:

            OK, I'll take a look. Do you have an example of the message posted which causes the error?

            Otherwise, things seem to be going fairly well...

            @archers said in openLuup: Tasmota MQTT Bridge:

            Combined with the GUI in the Virtual Sensor plugin from @toggledbits it is now really easy to link the desired variables to a virtual sensor.
            In total a really user friendly setup without any coding required.

            This is really good news, and perhaps means that I don't need to refine the variables further or create any child devices?

            A Offline
            A Offline
            ArcherS
            wrote on last edited by
            #16

            @akbooer I have "AsyncPoll" true on the Zway Bridge, I assume that means that it is in asynchronuous mode? Or should I check something else?

            No, I have yet to install cjson. This was actually intentional since I wanted to test it without this first and see if it works. On my main OpenLuup server that has experienced crashes I have cjson installed so I wanted to test without cjson first. But I should test this later on and see what happens to the cpu load.
            Regarding cpu load it has not gone up that much when comparing running one Tasmota vs running seven which is promising.

            I am not sure what message that causes the error, do you have any ideas what I should look for in the log or elsewhere? It mentions "TasmotaBridge.Lua:188 table index is nil" in all errors for the devices.

            The errors always says:

            2021-04-14 21:19:10.214   openLuup.context_switch::  ERROR: [dev #14] openLuup/L_TasmotaBridge.lua:188: table index is nil
            
            2021-04-14 21:19:10.214   openLuup.mqtt:: ERROR publishing application message for mqtt:tele/TasmotaTest/STATE : openLuup/L_TasmotaBridge.lua:188: table index is nil
            

            and it seems to cycle through my Tasmota devices reporting the same two rows but for each device:

            2021-04-14 21:35:10.064   openLuup.context_switch::  ERROR: [dev #14] openLuup/L_TasmotaBridge.lua:188: table index is nil
            2021-04-14 21:35:10.065   openLuup.mqtt:: ERROR publishing application message for mqtt:tele/TasmotaTest/STATE : openLuup/L_TasmotaBridge.lua:188: table index is nil
            ...
            2021-04-14 21:35:42.864   openLuup.context_switch::  ERROR: [dev #14] openLuup/L_TasmotaBridge.lua:188: table index is nil
            2021-04-14 21:35:42.865   openLuup.mqtt:: ERROR publishing application message for mqtt:tele/TasmotaUterum/STATE : openLuup/L_TasmotaBridge.lua:188: table index is nil
            ...
            2021-04-14 21:35:44.637   openLuup.context_switch::  ERROR: [dev #14] openLuup/L_TasmotaBridge.lua:188: table index is nil
            2021-04-14 21:35:44.637   openLuup.mqtt:: ERROR publishing application message for mqtt:tele/TasmotaCO2An/STATE : openLuup/L_TasmotaBridge.lua:188: table index is nil
            ...
            2021-04-14 21:35:44.844   openLuup.context_switch::  ERROR: [dev #14] openLuup/L_TasmotaBridge.lua:188: table index is nil
            2021-04-14 21:35:44.844   openLuup.mqtt:: ERROR publishing application message for mqtt:tele/TasmotaCO2Ax/STATE : openLuup/L_TasmotaBridge.lua:188: table index is nil
            
            

            Yes I agree, it seems to be going well. 🙂

            No, I think it is quite good the way it is, creating Virtual Sensors and then linking them to the devices/variables is very easy. It only takes a few minutes to add a new Tasmota device from scratch without any coding at all.
            In fact I think it is better this way since typically you do not want all of the reported values as a child device, e.g. you do not want "Dew point" or "Time", the useless MHZ19B temperature etc. This way you can select only what you want, not getting OpenLuup cluttered by a lot of "useless" child devices.

            A 1 Reply Last reply
            0
            • ElcidE Offline
              ElcidE Offline
              Elcid
              wrote on last edited by
              #17

              @akbooer, I have bridged the 2 brokers but not seeing any Tasmota bridge I see the mosquitto bridge in the openluup log no errors. My topics are tasmota/stat/devicename/POWER The devices are sonoff mini's flashed with tasmota-lite.bin. Any ideas?

              akbooerA 1 Reply Last reply
              0
              • ElcidE Elcid

                @akbooer, I have bridged the 2 brokers but not seeing any Tasmota bridge I see the mosquitto bridge in the openluup log no errors. My topics are tasmota/stat/devicename/POWER The devices are sonoff mini's flashed with tasmota-lite.bin. Any ideas?

                akbooerA Offline
                akbooerA Offline
                akbooer
                wrote on last edited by
                #18

                @elcid said in openLuup: Tasmota MQTT Bridge:

                My topics are tasmota/stat/devicename/POWER

                So, at the moment, I have only subscribed to tele/#, so that's why you're not seeing anything.

                I can make this configurable, but what does a message look like with this topic?

                ElcidE 1 Reply Last reply
                0
                • akbooerA akbooer

                  @elcid said in openLuup: Tasmota MQTT Bridge:

                  My topics are tasmota/stat/devicename/POWER

                  So, at the moment, I have only subscribed to tele/#, so that's why you're not seeing anything.

                  I can make this configurable, but what does a message look like with this topic?

                  ElcidE Offline
                  ElcidE Offline
                  Elcid
                  wrote on last edited by
                  #19

                  @akbooer
                  Ask the device for status

                  cmnd/tasmota_switch/Power ←     // an empty message/payload sends a status query
                      ↳ stat/tasmota_switch/RESULT → {"POWER":"OFF"}  
                      ↳ stat/tasmota_switch/POWER → OFF
                  We can see that the switch (devices relay) is turned off.
                  Send a command to toggle the relay~
                  
                  cmnd/tasmota_switch/Power ← "TOGGLE"
                      ↳ // Power for relay 1 is toggled
                      ↳ stat/tasmota_switch/RESULT → {"POWER":"ON"}  
                          ↳ stat/tasmota_switch/POWER → ON
                  

                  I have appended th tasmota at the start of the topic in my tasmota device settings.

                  1 Reply Last reply
                  0
                  • akbooerA Offline
                    akbooerA Offline
                    akbooer
                    wrote on last edited by
                    #20

                    ATM the bridge doesn't solicit any response from the devices. Indeed, it would have to discover them first in order to do so. So at this time, if the device does not sent regular tele/ updates, then it won't be seen. This is early days for the bridge.

                    ElcidE 1 Reply Last reply
                    0
                    • akbooerA akbooer

                      ATM the bridge doesn't solicit any response from the devices. Indeed, it would have to discover them first in order to do so. So at this time, if the device does not sent regular tele/ updates, then it won't be seen. This is early days for the bridge.

                      ElcidE Offline
                      ElcidE Offline
                      Elcid
                      wrote on last edited by Elcid
                      #21

                      @akbooer
                      There is a tele topic. Sorry about the image as the App would not let me copy the text.
                      Screenshot_20210414-225131.png and there is also a -
                      tasmota/tele/name/LWT with message "Online"

                      1 Reply Last reply
                      0
                      • akbooerA Offline
                        akbooerA Offline
                        akbooer
                        wrote on last edited by
                        #22

                        OK, well that will work if I add configuration for your optional ‘Tasmota’ prefix.

                        1 Reply Last reply
                        0
                        • ElcidE Offline
                          ElcidE Offline
                          Elcid
                          wrote on last edited by
                          #23

                          I added the prefix for future use so i could group devices by type (sensor/switch/dimmer/etc) as i will filter topics by type of device i want to subscribe to. So it would be nice to have a list of prefixes, if it is possible.

                          1 Reply Last reply
                          0
                          • akbooerA akbooer

                            Feedback / solutions for openLuup's built-in Tasmota MQTT bridge.

                            B Offline
                            B Offline
                            Buxton
                            wrote on last edited by
                            #24

                            @akbooer Good start on my end. Here's a pic of one device that shows three Bluetooth temp/humidity sensors (LYWSD...) that connect to a Tasmota relay:

                            SonoffDualR3-3.png

                            You may need to decode a layer deeper for the "table" entries....

                            I do have a bunch of error messages in the log, but I will have to get into that on the weekend as I'm currently buried with work work....

                            Here's a snippet though:

                            2021-04-14 20:11:13.634   openLuup.context_switch::  ERROR: [dev #262] openLuup/L_TasmotaBridge.lua:188: table index is nil
                            2021-04-14 20:11:13.634   openLuup.mqtt:: ERROR publishing application message for mqtt:tele/power_BedroomTV/BLE : openLuup/L_TasmotaBridge.lua:188: table index is nil
                            2021-04-14 20:11:14.044   openLuup.server:: request completed (1490 bytes, 1 chunks, 1280 ms) tcp{client}: 0x5619338130b8
                            2021-04-14 20:11:14.642   openLuup.context_switch::  ERROR: [dev #262] openLuup/L_TasmotaBridge.lua:188: table index is nil
                            2021-04-14 20:11:14.642   openLuup.mqtt:: ERROR publishing application message for mqtt:tele/power_BedroomTV/STATE : openLuup/L_TasmotaBridge.lua:188: table index is nil
                            2021-04-14 20:11:14.662   openLuup.context_switch::  ERROR: [dev #0] attempt to call a string value
                            2021-04-14 20:11:14.663   openLuup.mqtt:: ERROR publishing application message for mqtt:tele/power_BedroomTV/SENSOR : attempt to call a string value
                            2021-04-14 20:11:14.701   openLuup.context_switch::  ERROR: [dev #262] openLuup/L_TasmotaBridge.lua:188: table index is nil
                            
                            akbooerA 1 Reply Last reply
                            0
                            • therealdbT Offline
                              therealdbT Offline
                              therealdb
                              wrote on last edited by
                              #25

                              Ok, I've added support for command based on MQTT in version 3.0-beta1.

                              Variable updated on messages coming soon. Feedback much appreciated!

                              GitHub - dbochicchio/vera-VirtualDevices: Virtual HTTP Devices plug-in for Vera and openLuup

                              GitHub - dbochicchio/vera-VirtualDevices: Virtual HTTP Devices plug-in for Vera and openLuup

                              Virtual HTTP Devices plug-in for Vera and openLuup - dbochicchio/vera-VirtualDevices

                              --
                              On a mission to automate everything.

                              My MS Reactor contrib
                              My Luup Plug-ins

                              therealdbT 1 Reply Last reply
                              1
                              • akbooerA akbooer

                                Feedback / solutions for openLuup's built-in Tasmota MQTT bridge.

                                B Offline
                                B Offline
                                Buxton
                                wrote on last edited by
                                #26

                                @akbooer I did some debug on the error messages above and came up with the following. I placed some debug entries in the "L_TasmotaBridge.lua" to try to see what was causing the errors. First the code: under function _G.Tasmota_MQTT_Handler (topic, message)

                                  local myMessage = ""
                                  
                                  if message == nil then 
                                     myMessage = "Message is null" 
                                  else
                                	if message == "" then
                                	 myMessage = "Message is empty" 
                                	else
                                	 myMessage = message 
                                	end
                                  end
                                  
                                  _log ("JSON error info " .. myMessage)
                                

                                Which produced the following log errors and their context:

                                2021-04-16 20:48:01.335   openLuup.io.server:: MQTT:1882 connection from 10.17.2.28 tcp{client}: 0x55fac42317b8
                                2021-04-16 20:48:01.355   luup.tasmota:262: JSON error info Online
                                2021-04-16 20:48:01.356   luup.tasmota:262: JSON error: ?
                                2021-04-16 20:48:01.366   luup.tasmota:262: JSON error info Message is empty
                                2021-04-16 20:48:01.367   luup.tasmota:262: JSON error: ?
                                2021-04-16 20:48:01.423   openLuup.mqtt:: BedroomTV SUBSCRIBE to cmnd/power_BedroomTV/# tcp{client}: 0x55fac42317b8
                                2021-04-16 20:48:01.432   openLuup.mqtt:: BedroomTV SUBSCRIBE to cmnd/tasmotas/# tcp{client}: 0x55fac42317b8
                                2021-04-16 20:48:01.433   openLuup.mqtt:: BedroomTV SUBSCRIBE to cmnd/BedroomTV_fb/# tcp{client}: 0x55fac42317b8
                                
                                B 1 Reply Last reply
                                0
                                • akbooerA akbooer

                                  Feedback / solutions for openLuup's built-in Tasmota MQTT bridge.

                                  B Offline
                                  B Offline
                                  Buxton
                                  wrote on last edited by
                                  #27

                                  @akbooer Then further down the log file I was getting errors in the "function init_device (altid, info)" function. Error code is:

                                  	local myaltid = ""
                                  	local myinfo = ""
                                  	
                                  	if altid == nil then
                                  		myaltid = "altid is null"
                                  		else
                                  		myaltid = altid
                                  	end
                                  	
                                  	if info == nil then
                                  		myinfo = "info is null"
                                  		else
                                  		if info == " " then
                                  			myinfo = "info is empty"
                                  		else
                                  			myinfo = unpack(info)
                                  		end
                                  	end
                                  
                                  
                                  	_log ("Find info " ..  myinfo )
                                  	_log ("Find altid " .. myaltid )
                                  
                                    local dno = luup.openLuup.find_device {altid = altid} 
                                                  or 
                                                    create_device (altid, info)
                                   
                                  	_log ("Find DNO " .. dno)
                                  

                                  Which yields:

                                  2021-04-16 21:37:06.773   openLuup.io.server:: MQTT:1882 connection closed  tcp{client}: 0x556c246bb0f8
                                  2021-04-16 21:37:06.773   openLuup.mqtt:: RECEIVE ERROR: closed tcp{client}: 0x556c246bb0f8
                                  2021-04-16 21:37:06.815   luup.io.incoming:: bytes received: 51, status: OK tcp{client}: 0x556c24620fb8
                                  2021-04-16 21:37:09.516   luup.tasmota:262: JSON error info {"Time":"2021-04-17T05:37:09","Uptime":"0T02:24:57","UptimeSec":8697,"Heap":125,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":13,"POWER1":"OFF","POWER2":"OFF","Wifi":{"AP":1,"SSId":"CD","BSSId":"FE:9F:DB:F5:A0:11","Channel":1,"RSSI":94,"Signal":-53,"LinkCount":1,"Downtime":"0T00:00:06"}}
                                  2021-04-16 21:37:09.517   luup.tasmota:262: Find info info is null
                                  2021-04-16 21:37:09.517   luup.tasmota:262: Find altid altid is null
                                  2021-04-16 21:37:09.517   luup.tasmota:262: Find DNO 1
                                  2021-04-16 21:37:09.518   openLuup.context_switch::  ERROR: [dev #262] openLuup/L_TasmotaBridge.lua:215: table index is nil
                                  2021-04-16 21:37:09.518   openLuup.mqtt:: ERROR publishing application message for mqtt:tele/power_BedroomTV/STATE : openLuup/L_TasmotaBridge.lua:215: table index is nil
                                  2021-04-16 21:37:09.605   openLuup.context_switch::  ERROR: [dev #0] attempt to call a string value
                                  2021-04-16 21:37:09.605   openLuup.mqtt:: ERROR publishing application message for mqtt:tele/power_BedroomTV/SENSOR : attempt to call a string value
                                  2021-04-16 21:37:09.605   luup.tasmota:262: JSON error info {"Time":"2021-04-17T05:37:09","Switch1":"ON","Switch2":"ON","ENERGY":{"TotalStartTime":"2021-04-04T05:29:11","Total":0.000,"Yesterday":0.000,"Today":0.000,"Period":0,"Power":[0,0],"ApparentPower":[0,0],"ReactivePower":[0,0],"Factor":[0.00,0.00],"Frequency":60,"Voltage":121,"Current":[0.000,0.000]}}
                                  2021-04-16 21:37:09.606   luup.tasmota:262: Find info info is null
                                  2021-04-16 21:37:09.606   luup.tasmota:262: Find altid power_BedroomTV
                                  2021-04-16 21:37:09.606   luup.tasmota:262: Find DNO 30001
                                  2021-04-16 21:37:09.618   luup.tasmota:262: JSON error info {"Time":"2021-04-17T05:37:09","BLEDevices":{"total":3,"A4C138EB4F4F":{"i":0,"r":-73},"A4C13838EB2E":{"i":1,"r":-87},"A4C138A59E0C":{"i":2,"r":-92}}}
                                  2021-04-16 21:37:09.619   luup.tasmota:262: Find info info is null
                                  2021-04-16 21:37:09.619   luup.tasmota:262: Find altid altid is null
                                  2021-04-16 21:37:09.619   luup.tasmota:262: Find DNO 1
                                  2021-04-16 21:37:09.619   openLuup.context_switch::  ERROR: [dev #262] openLuup/L_TasmotaBridge.lua:215: table index is nil
                                  2021-04-16 21:37:09.619   openLuup.mqtt:: ERROR publishing application message for mqtt:tele/power_BedroomTV/BLE : openLuup/L_TasmotaBridge.lua:215: table index is nil
                                  2021-04-16 21:37:09.620   luup.tasmota:262: JSON error info {"Time":"2021-04-17T05:37:09","BLE":{"scans":483,"adverts":23232,"devices":3,"resets":0}}
                                  2021-04-16 21:37:09.620   luup.tasmota:262: Find info info is null
                                  2021-04-16 21:37:09.620   luup.tasmota:262: Find altid altid is null
                                  2021-04-16 21:37:09.620   luup.tasmota:262: Find DNO 1
                                  

                                  Hope that's of some use.

                                  B 1 Reply Last reply
                                  0
                                  • B Buxton

                                    @akbooer Then further down the log file I was getting errors in the "function init_device (altid, info)" function. Error code is:

                                    	local myaltid = ""
                                    	local myinfo = ""
                                    	
                                    	if altid == nil then
                                    		myaltid = "altid is null"
                                    		else
                                    		myaltid = altid
                                    	end
                                    	
                                    	if info == nil then
                                    		myinfo = "info is null"
                                    		else
                                    		if info == " " then
                                    			myinfo = "info is empty"
                                    		else
                                    			myinfo = unpack(info)
                                    		end
                                    	end
                                    
                                    
                                    	_log ("Find info " ..  myinfo )
                                    	_log ("Find altid " .. myaltid )
                                    
                                      local dno = luup.openLuup.find_device {altid = altid} 
                                                    or 
                                                      create_device (altid, info)
                                     
                                    	_log ("Find DNO " .. dno)
                                    

                                    Which yields:

                                    2021-04-16 21:37:06.773   openLuup.io.server:: MQTT:1882 connection closed  tcp{client}: 0x556c246bb0f8
                                    2021-04-16 21:37:06.773   openLuup.mqtt:: RECEIVE ERROR: closed tcp{client}: 0x556c246bb0f8
                                    2021-04-16 21:37:06.815   luup.io.incoming:: bytes received: 51, status: OK tcp{client}: 0x556c24620fb8
                                    2021-04-16 21:37:09.516   luup.tasmota:262: JSON error info {"Time":"2021-04-17T05:37:09","Uptime":"0T02:24:57","UptimeSec":8697,"Heap":125,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":13,"POWER1":"OFF","POWER2":"OFF","Wifi":{"AP":1,"SSId":"CD","BSSId":"FE:9F:DB:F5:A0:11","Channel":1,"RSSI":94,"Signal":-53,"LinkCount":1,"Downtime":"0T00:00:06"}}
                                    2021-04-16 21:37:09.517   luup.tasmota:262: Find info info is null
                                    2021-04-16 21:37:09.517   luup.tasmota:262: Find altid altid is null
                                    2021-04-16 21:37:09.517   luup.tasmota:262: Find DNO 1
                                    2021-04-16 21:37:09.518   openLuup.context_switch::  ERROR: [dev #262] openLuup/L_TasmotaBridge.lua:215: table index is nil
                                    2021-04-16 21:37:09.518   openLuup.mqtt:: ERROR publishing application message for mqtt:tele/power_BedroomTV/STATE : openLuup/L_TasmotaBridge.lua:215: table index is nil
                                    2021-04-16 21:37:09.605   openLuup.context_switch::  ERROR: [dev #0] attempt to call a string value
                                    2021-04-16 21:37:09.605   openLuup.mqtt:: ERROR publishing application message for mqtt:tele/power_BedroomTV/SENSOR : attempt to call a string value
                                    2021-04-16 21:37:09.605   luup.tasmota:262: JSON error info {"Time":"2021-04-17T05:37:09","Switch1":"ON","Switch2":"ON","ENERGY":{"TotalStartTime":"2021-04-04T05:29:11","Total":0.000,"Yesterday":0.000,"Today":0.000,"Period":0,"Power":[0,0],"ApparentPower":[0,0],"ReactivePower":[0,0],"Factor":[0.00,0.00],"Frequency":60,"Voltage":121,"Current":[0.000,0.000]}}
                                    2021-04-16 21:37:09.606   luup.tasmota:262: Find info info is null
                                    2021-04-16 21:37:09.606   luup.tasmota:262: Find altid power_BedroomTV
                                    2021-04-16 21:37:09.606   luup.tasmota:262: Find DNO 30001
                                    2021-04-16 21:37:09.618   luup.tasmota:262: JSON error info {"Time":"2021-04-17T05:37:09","BLEDevices":{"total":3,"A4C138EB4F4F":{"i":0,"r":-73},"A4C13838EB2E":{"i":1,"r":-87},"A4C138A59E0C":{"i":2,"r":-92}}}
                                    2021-04-16 21:37:09.619   luup.tasmota:262: Find info info is null
                                    2021-04-16 21:37:09.619   luup.tasmota:262: Find altid altid is null
                                    2021-04-16 21:37:09.619   luup.tasmota:262: Find DNO 1
                                    2021-04-16 21:37:09.619   openLuup.context_switch::  ERROR: [dev #262] openLuup/L_TasmotaBridge.lua:215: table index is nil
                                    2021-04-16 21:37:09.619   openLuup.mqtt:: ERROR publishing application message for mqtt:tele/power_BedroomTV/BLE : openLuup/L_TasmotaBridge.lua:215: table index is nil
                                    2021-04-16 21:37:09.620   luup.tasmota:262: JSON error info {"Time":"2021-04-17T05:37:09","BLE":{"scans":483,"adverts":23232,"devices":3,"resets":0}}
                                    2021-04-16 21:37:09.620   luup.tasmota:262: Find info info is null
                                    2021-04-16 21:37:09.620   luup.tasmota:262: Find altid altid is null
                                    2021-04-16 21:37:09.620   luup.tasmota:262: Find DNO 1
                                    

                                    Hope that's of some use.

                                    B Offline
                                    B Offline
                                    Buxton
                                    wrote on last edited by
                                    #28

                                    @buxton In the above, I'm seeing an extra closing right hand bracket in the JSON string.

                                    1 Reply Last reply
                                    1
                                    • therealdbT therealdb

                                      Ok, I've added support for command based on MQTT in version 3.0-beta1.

                                      Variable updated on messages coming soon. Feedback much appreciated!

                                      GitHub - dbochicchio/vera-VirtualDevices: Virtual HTTP Devices plug-in for Vera and openLuup

                                      GitHub - dbochicchio/vera-VirtualDevices: Virtual HTTP Devices plug-in for Vera and openLuup

                                      Virtual HTTP Devices plug-in for Vera and openLuup - dbochicchio/vera-VirtualDevices

                                      therealdbT Offline
                                      therealdbT Offline
                                      therealdb
                                      wrote on last edited by
                                      #29

                                      And I've also added handlers to get status from a generic MQTT message. It's done on lights, dimmers, roller shutters and rgb/rgbw.

                                      f1233fdb-ae59-4d0b-aea2-e0d87e7991cc-image.png

                                      Just use the format topic/=/payload, where * for payload means "pass the value to the variable".

                                      Color and white temp are supported, but I'll need to write a converter (or link to the existing one). If anyone is still interested, I could port it to alarm, heaters, door locks and sensors.

                                      --
                                      On a mission to automate everything.

                                      My MS Reactor contrib
                                      My Luup Plug-ins

                                      1 Reply Last reply
                                      1
                                      • akbooerA Offline
                                        akbooerA Offline
                                        akbooer
                                        wrote on last edited by
                                        #30

                                        @Elcid

                                        The latest development version v21.4.17 has added and additional subscription to the tasmota/tele/# topic. I will make it configurable later.

                                        @Buxton

                                        I've refactored the bridge a bit, but haven't yet addressed the nested table issue... don't know if this has fixed any of the other errors you've seen, but I didn't do anything explicitly to address those. Still very much work in progress.

                                        1 Reply Last reply
                                        1
                                        • ElcidE Offline
                                          ElcidE Offline
                                          Elcid
                                          wrote on last edited by Elcid
                                          #31

                                          Has installed tasmota bridge and the child devices have been added with the following varaiables

                                          LastUpdate	
                                          17/04/2021, 12:43:57
                                          Switch1	
                                          OFF
                                          Time	
                                          2021-04-17T12:43:57
                                          tasmota/tele	
                                          {"Time":"2021-04-17T12:43:57","Switch1":"OFF"}
                                          
                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Recent Topics

                                          • Reactor (Multi-System/Multi-Hub) Announcements
                                            toggledbitsT
                                            toggledbits
                                            5
                                            121
                                            35.1k

                                          • Limit HA Entity in MSR
                                            toggledbitsT
                                            toggledbits
                                            0
                                            2
                                            11

                                          • Disaster recovery and virtualisation
                                            CatmanV2C
                                            CatmanV2
                                            0
                                            5
                                            577

                                          • Remote access of Zwave stick from Z-wave server
                                            CatmanV2C
                                            CatmanV2
                                            0
                                            3
                                            301

                                          • Organizing/ structuring rule sets and rules
                                            G
                                            gwp1
                                            0
                                            5
                                            348

                                          • Moving MSR from a QNAP container to RP 5 - some issues
                                            G
                                            gwp1
                                            0
                                            5
                                            293

                                          • Widget deletion does not work and landing page (status) is empy
                                            G
                                            gwp1
                                            0
                                            4
                                            264

                                          • Need help reducing false positive notifications
                                            T
                                            tamorgen
                                            0
                                            7
                                            460

                                          • Deleting widgets
                                            toggledbitsT
                                            toggledbits
                                            0
                                            4
                                            440

                                          • MQTT configuration question
                                            tunnusT
                                            tunnus
                                            0
                                            11
                                            592
                                          Powered by NodeBB | Contributors
                                          Hosted freely by 10RUPTiV - Solutions Technologiques | Contact us
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Unsolved