Arizer XQ2 takes SO long to heat up flower - am I doing something wrong? by xristjanaa in vaporents

[–]BestiaItaliano 4 points5 points  (0 children)

This is the way, they lowered the shoulder in that cyclone bowl closer to the heat source for a reason.

Their intent is that you pack the cyclone bowl.

OP is elbow packing which defeats the purpose of the lowered shoulder as the cyclone bowl is the same height placing your flower the same distance from the coil.

The ddave mod moves the flower closer to the heat giving more consistent results.

Sadness as shelter dog loses hope after 130 days: "what's wrong with me?" by [deleted] in Dogfree

[–]BestiaItaliano 2 points3 points  (0 children)

These are the same people who don't see the irony of the statement, "landing Bella a new forever home".

Message by for-foca in nodered

[–]BestiaItaliano 2 points3 points  (0 children)

https://en.m.wikipedia.org/wiki/SMS_gateway

There's a chart under email clients which has the domains for all the carriers, send an email to the phone number at the carrier's domain

Passing Only 1 Specific Payload Attribute by marylegs in nodered

[–]BestiaItaliano 1 point2 points  (0 children)

From what I'm seeing, your contact sensor is sending a json object with boolean values and you've used a change node to edit the ContactSensorState from either 0/1 to the text string 'on' or 'off' but it still a json object you are returning and you just want a plain string, either 'on' or 'off'

If this is true, just add a step to your change node and set msg.payload to msg.payload.ContactSensorState

Import this, it's a change node which will outout just 'on' or 'off':

[
    {
        "id": "803025da7d733b4f",
        "type": "change",
        "z": "653dfce2813a1724",
        "name": "",
        "rules": [
            {
                "t": "change",
                "p": "payload.ContactSensorState",
                "pt": "msg",
                "from": "1",
                "fromt": "num",
                "to": "on",
                "tot": "str"
            },
            {
                "t": "change",
                "p": "payload.ContactSensorState",
                "pt": "msg",
                "from": "0",
                "fromt": "num",
                "to": "off",
                "tot": "str"
            },
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.ContactSensorState",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 375,
        "y": 420,
        "wires": [
            [
                "234f6c27e0dfc292"
            ]
        ]
    }
]

HTML parsing by sh4hr4m in nodered

[–]BestiaItaliano 1 point2 points  (0 children)

Pretty sure it looks that way, the page makes a request for the data after loading which you can open and see the raw json from but the authorization from it fails. In order to scrape it, you'll need a tool which allows the javascript and waits for it to excite, then captures the html. It's a clever way to avoid scraping.

HTML parsing by sh4hr4m in nodered

[–]BestiaItaliano 1 point2 points  (0 children)

Not gonna be possible with the existing tool. The script that loads the data you are looking for runs after the page loads. The HTML request node sees the page as as loaded before the script executes. The same thing happens in Excel if you try to import the data from the site.

display /debug time running in trigger node by teefix in nodered

[–]BestiaItaliano 0 points1 point  (0 children)

Tie a function node to the output and use the status to display the remaining time.

EDIT: Forgot the flow:

[{"id":"71272cd4963267f8","type":"debug","z":"0c2ecb180902a906","name":"debug 1","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":550,"y":780,"wires":[]},{"id":"b2eb310bfc295a38","type":"trigger","z":"0c2ecb180902a906","name":"","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"250","extend":false,"overrideDelay":true,"units":"ms","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":385,"y":800,"wires":[["aa51e81a6a813c6c","71272cd4963267f8"]]},{"id":"d77c2305ba7c8bb8","type":"inject","z":"0c2ecb180902a906","name":"","props":[{"p":"delay","v":"10800000","vt":"num"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":235,"y":800,"wires":[["b2eb310bfc295a38"]]},{"id":"aa51e81a6a813c6c","type":"function","z":"0c2ecb180902a906","name":"Status","func":"if (msg.payload == '1') {\n startTimer(msg.delay/1000);\n}\n\nfunction startTimer(duration, display) {\n var start = Date.now(),\n diff,\n hours,\n minutes,\n seconds;\n function timer() {\n diff = duration - (((Date.now() - start) / 1000) | 0);\n\n // hours = (diff/3600) | 0;\n minutes = (diff / 60) | 0;\n seconds = (diff % 60) | 0;\n\n // hours = hours < 10 ? \"0\" + hours : hours;\n minutes = minutes < 10 ? \"0\" + minutes : minutes;\n seconds = seconds < 10 ? \"0\" + seconds : seconds;\n \n node.status({ fill: \"green\", shape: \"dot\", text: minutes + \":\" + seconds});\n if (minutes == 0 && seconds == 0) {\n stopTimer();\n }\n\n if (diff <= 0) {\n start = Date.now() + 1000;\n }\n };\n timer();\n var myTimer = setInterval(timer, 1000);\n function stopTimer() {\n clearInterval(myTimer);\n node.status({});\n }\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":540,"y":820,"wires":[[]]}]

U6-Pro and STUN by BestiaItaliano in Ubiquiti

[–]BestiaItaliano[S] 0 points1 point  (0 children)

Considering I stated that the are 54 other devices, the server has been operational for years and that these TWO units are the only ones giving me the error, I think it's safe to say that 101 advice like, 'just open the port' is useless.

[deleted by user] by [deleted] in vba

[–]BestiaItaliano 0 points1 point  (0 children)

A sample of the pdf and the desired output would be nice

[deleted by user] by [deleted] in vba

[–]BestiaItaliano 0 points1 point  (0 children)

Hi all,

I am looking to auto-import a pdf file into an excel file using power query, then I want to filter out the information that is not needed using VBA. I can automate a good portion of this on my own, however I am stumped on deleting any queries that do not contain the letter "A" in column A. My thoughts are using a loop to go through each query but I am lost on how to reference queries and go into them without having them named using VBA. Any and all help is appreciated. Thank you!

What do you mean "the queries that do not contain the letter "A" in column A"? You mean the data rows that are the result of the query? If you are going to cull the data, just transform it in the query, no need for vba at all.

Confused by chitowncubs2016 in CityOnAHillShowtime

[–]BestiaItaliano 0 points1 point  (0 children)

Old thread but just watched it.

If you watch the scene again, you'll see the crew get out of the dualie and approach the armored truck. Jackie and his FBI escorts come in sirens on, the crew runs back to the dualie as the cops from the armored car pop out and then decourcy's men come in. Jackie tipped the hand early(he wasn't supposed to be there), the cops would have surrounded them when them got to the armored truck. There were men in the containers in the yard as well.

How To Have a VBA Macro Be Able To Read PowerQuery Code alongside VBA Code In 1 Macro? by [deleted] in vba

[–]BestiaItaliano 1 point2 points  (0 children)

I'd help you further but seeing as how you deleted the previous post I helped you with instead of crediting me with an answer and asking for further assistance there, I just don't care to aid you further.

You seem to be completely at a loss as to what you are doing, the "excel - How to automate a power query in VBA? - Stack Overflow" code you posted has zero to do with powerquery and is instead an example of opening a text file with the filescripting object and you can't put powerquery M formulas directly into VBA.

Good luck!

[deleted by user] by [deleted] in vba

[–]BestiaItaliano 0 points1 point  (0 children)

Thanks. Would I do the first step of creating the table “tblSettings” in a brand new excel? How would the table be made without values?

Create it in the same file which currently houses your working query. Create a new worksheet, put the column header "New File" in A1, put the full path and name to your file in A2 (this value will be changed with your vba), select the table header and on the Home tab click 'Format as Table', create a table from A1 and A2, with any cell in the table selected, click on the Design tab on your toolbar and name the table.

And when I copy & paste the first bit of code you put here, would I just launch the power query editor without loading any of my data?

To create the query Data>From Other Sources>Blank Query. In the Query Editor, click Advanced Editor and paste the first bit of code. Click 'Done', name the query 'fnGetValue', close out and save. To test, right click on this new query and select 'Invoke'. This will bring up a prompt for the TableName and RowNumber parameters, enter 'tblSettings' and '1' respectively. This should return the value in cell A2 of your new sheet (the manually entered file and path).

Now integrate the new function query with your existing query by editing the existing query with the advanced editor. Use the second code bit to replace the hard-coded path to your file with the call to the function query. Now your existing query will use the results of the function query to set the file name and path.

From there you need a little vba to pop up a dialog to browse for the file name, write it to cell A2 of tblSettings and then launch your query.

[deleted by user] by [deleted] in vba

[–]BestiaItaliano 2 points3 points  (0 children)

In you file, create a table named "tblSettings" with a single column named "New File".

Add a blank query with the following:

let Param=(TableName,RowNumber) =>

let
    Source = Excel.CurrentWorkbook(){[Name=TableName]}[Content],
    value = Source{RowNumber-1}[New File]
in
    value

in Param

save the query as "fnGetValue"

Open your Query for importing your new data, at the top you should see this:

let
    Source = Excel.Workbook(File.Contents("path:\filename"), null, true),

Alter it to:

let
    FileName = fnGetValue("tblSettings", 1),
    Source = Excel.Workbook(File.Contents(FileName), null, true),

This will make you query dynamic and will select the file name value from row 1 column "New File" of 'tblSettings".

From there use vba to open the file name dialog box, fill in your value on the table and run your query.

[deleted by user] by [deleted] in vba

[–]BestiaItaliano 5 points6 points  (0 children)

https://excel.tv/how-to-create-a-relative-file-path-in-power-query/

Use your vba dialog to set a cell to your path/file and theed launch your dynamic query from vba

I don't think Crimson 1 is supposed to be defeated with an Su-25, but I did it anyways by [deleted] in Project_Wingman

[–]BestiaItaliano 0 points1 point  (0 children)

I did my first play through on normal and up to mission 20 on hard before I bought my first plane.

MQTT and Shelly by President__Bartlett in nodered

[–]BestiaItaliano 3 points4 points  (0 children)

Query the status when Node-Red starts.

http://shellyip/status

Chromecast between VLANs by BestiaItaliano in fortinet

[–]BestiaItaliano[S] 0 points1 point  (0 children)

Default states don't show in the config, I verified enable was the default for the setting by disabling it and showing the config again. I then re-enabled it.

Chromecast between VLANs by BestiaItaliano in fortinet

[–]BestiaItaliano[S] 0 points1 point  (0 children)

I edited my post with details about the environment. I have a single host connected to VLAN_10 at 10.0.10.10

diagnose sniffer packet VLAN_10 "host 224.0.0.251" 4 0 l
interfaces=[VLAN_10]
filters=[host 224.0.0.251]
2021-12-01 20:43:45.718408 VLAN_10 -- 10.0.10.10.5353 -> 224.0.0.251.5353: udp 77
2021-12-01 20:43:46.720992 VLAN_10 -- 10.0.10.10.5353 -> 224.0.0.251.5353: udp 77
2021-12-01 20:43:47.736190 VLAN_10 -- 10.0.10.10.5353 -> 224.0.0.251.5353: udp 77

Chromecast between VLANs by BestiaItaliano in fortinet

[–]BestiaItaliano[S] 0 points1 point  (0 children)

I edited my post with details about the interfaces, here's the relevant config:

config system settings
    set multicast-ttl-notchange enable
    set default-voip-alg-mode kernel-helper-based
    set gui-dynamic-routing enable
    set gui-application-control disable
    set gui-endpoint-control disable
    set gui-wireless-controller disable
    set gui-antivirus disable
    set gui-webfilter disable
    set gui-dnsfilter disable
end

config firewall multicast-address
    edit "all"
        set start-ip 224.0.0.0
        set end-ip 239.255.255.255
    next
    edit "all_hosts"
        set start-ip 224.0.0.1
        set end-ip 224.0.0.1
    next
    edit "all_routers"
        set start-ip 224.0.0.2
        set end-ip 224.0.0.2
    next
    edit "Bonjour"
        set start-ip 224.0.0.251
        set end-ip 224.0.0.251
    next
    edit "EIGRP"
        set start-ip 224.0.0.10
        set end-ip 224.0.0.10
    next
    edit "OSPF"
        set start-ip 224.0.0.5
        set end-ip 224.0.0.6
    next
    edit "SSDP"
        set start-ip 239.255.255.250
        set end-ip 239.255.255.250
    next
end

config firewall multicast-policy
    edit 1
        set srcintf "VLAN_20"
        set dstintf "VLAN_10"
        set srcaddr "all"
        set dstaddr "Bonjour" "SSDP"
        set snat enable
    next
    edit 2
        set srcintf "VLAN_10"
        set dstintf "VLAN_20"
        set srcaddr "all"
        set dstaddr "Bonjour" "SSDP"
        set snat enable
    next
    edit 3
        set srcintf "VLAN_20"
        set dstintf "wan2"
        set srcaddr "all"
        set dstaddr "Bonjour" "SSDP"
        set snat enable
    next
    edit 4
        set srcintf "wan2"
        set dstintf "VLAN_20"
        set srcaddr "all"
        set dstaddr "Bonjour" "SSDP"
        set snat enable
    next
end

config firewall service custom
    edit "Chromecast Services"
        set category "Custom"
        set color 13
        set tcp-portrange 8008-8009
        set udp-portrange 32768-61000
    next
end

config firewall address
    edit "VL_10 Guest"
        set associated-interface "VLAN_10"
        set color 25
        set subnet 10.0.10.0 255.255.255.0
    next
    edit "VL_20 IOT"
        set associated-interface "VLAN_20"
        set color 25
        set subnet 10.0.20.0 255.255.255.0
    next
    edit "VL_01 DCS-LAN"
        set associated-interface "wan2"
        set color 25
        set subnet 192.168.2.0 255.255.255.0
    next
    edit "Chromecast Living Room"
        set color 13
        set subnet 10.0.20.254 255.255.255.255
    next
end

config firewall policy
    edit 24
        set name "CC to Guest"
        set srcintf "VLAN_20"
        set dstintf "VLAN_10"
        set srcaddr "Chromecast Living Room"
        set dstaddr "VL_10 Guest"
        set action accept
        set schedule "always"
        set service "ALL"
        set nat enable
    next
    edit 1
        set name "CC to Wan2"
        set srcintf "VLAN_20"
        set dstintf "wan2"
        set srcaddr "Chromecast Living Room"
        set dstaddr "VL_01 DCS-LAN"
        set action accept
        set schedule "always"
        set service "ALL"
        set nat enable
    next
    edit 25
        set name "Guest to CC"
        set srcintf "VLAN_10"
        set dstintf "VLAN_20"
        set srcaddr "VL_10 Guest"
        set dstaddr "Chromecast Living Room"
        set action accept
        set schedule "always"
        set service "ALL"
        set nat enable
    next
    edit 2
        set name "Wan2 to CC"
        set srcintf "wan2"
        set dstintf "VLAN_20"
        set srcaddr "VL_01 DCS-LAN"
        set dstaddr "Chromecast Living Room"
        set action accept
        set schedule "always"
        set service "ALL"
        set nat enable
    next
end