From 526fb41971da1ca7537947e0cabf70e006420911 Mon Sep 17 00:00:00 2001 From: Fransolet Thomas Date: Wed, 23 Feb 2022 16:36:07 +0100 Subject: [PATCH] Update mqtt + test msqtt via button --- lib/Helpers/MQTTHelper.dart | 2 +- lib/Screens/Home/HomePage.dart | 40 ++++++++++++++++++++++---- lib/Screens/Login/components/body.dart | 1 - 3 files changed, 36 insertions(+), 7 deletions(-) diff --git a/lib/Helpers/MQTTHelper.dart b/lib/Helpers/MQTTHelper.dart index 13375c9..9c9a39b 100644 --- a/lib/Helpers/MQTTHelper.dart +++ b/lib/Helpers/MQTTHelper.dart @@ -16,7 +16,7 @@ class MQTTHelper { print('Connected !!!!!!!!!!!! ----------------------------------'); HomieAppContext homieAppContext = appContext.getContext(); - homieAppContext.clientMQTT.subscribe("#", MqttQos.atLeastOnce); + homieAppContext.clientMQTT.subscribe("test/rpi", MqttQos.atLeastOnce); print(homieAppContext.clientMQTT); diff --git a/lib/Screens/Home/HomePage.dart b/lib/Screens/Home/HomePage.dart index 7182ea1..094faa0 100644 --- a/lib/Screens/Home/HomePage.dart +++ b/lib/Screens/Home/HomePage.dart @@ -1,3 +1,5 @@ +import 'dart:convert'; + import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/services.dart'; @@ -10,6 +12,8 @@ import 'package:myhomie_app/app_context.dart'; import 'package:myhomie_app/client.dart'; import 'package:provider/provider.dart'; +import '../../Models/homieContext.dart'; + class HomePage extends StatefulWidget { HomePage({Key key}) : super(key: key); @@ -110,6 +114,7 @@ class _HomePageState extends State { @override Widget build(BuildContext context) { final appContext = Provider.of(context); + Size size = MediaQuery.of(context).size; if (!MQTTHelper.instance.isInstantiated) { @@ -117,6 +122,7 @@ class _HomePageState extends State { MQTTHelper.instance.connect(appContext); } + HomieAppContext homieAppContext = appContext.getContext(); return Scaffold( appBar: AppBar( @@ -165,20 +171,44 @@ class _HomePageState extends State { ], ), ), - /*floatingActionButton: FloatingActionButton( - onPressed: () => { - Navigator.push( + floatingActionButton: FloatingActionButton( + onPressed: () { + var message = { + "userId": homieAppContext.userId, + "width": size.width, + "height": size.height, + "action": "button0" + }; + + const pubTopic = 'rpiZero/test'; + final builder = MqttClientPayloadBuilder(); + + builder.addString(jsonEncode(message)); + + homieAppContext.clientMQTT.publishMessage(pubTopic, MqttQos.atLeastOnce, builder.payload); + + var message2 = { + "state": "toggle" + }; + + const pubTopic2 = 'zigbee2mqtt/GU10Bureau/set'; + final builder2 = MqttClientPayloadBuilder(); + + builder2.addString(jsonEncode(message2)); + + homieAppContext.clientMQTT.publishMessage(pubTopic2, MqttQos.atLeastOnce, builder2.payload); + /*Navigator.push( context, MaterialPageRoute( builder: (context) { return DebugPage(); }, ) - ) + )*/ }, tooltip: 'Increment', child: Icon(Icons.add), - ),*/ + ), ); } } \ No newline at end of file diff --git a/lib/Screens/Login/components/body.dart b/lib/Screens/Login/components/body.dart index 81d5c66..659da0e 100644 --- a/lib/Screens/Login/components/body.dart +++ b/lib/Screens/Login/components/body.dart @@ -61,7 +61,6 @@ class _BodyState extends State { homieAppContext.clientMQTT = new MqttServerClient(homieAppContext.host.replaceAll('http://', ''),'tablet_app_'+'TODODODO'); // homieAppContext.clientAPI = client; // TODO homieAppContext.userId = "TODO"; // TODO - setState(() { appContext.setContext(homieAppContext); });